読者です 読者をやめる 読者になる 読者になる

Safari3*GreaseKit1.4用のGM関数

GreaseKit Safari

?D of Kをベースに。

if (typeof(GM_addStyle) != 'function') {
	function GM_addStyle(css) {
		var head = document.getElementsByTagName('head');
		if (!!head) {
			var style = document.createElement('style');
			style.type = 'text/css';
			style.textContent = css;
			head[0].appendChild(style);
		}
	}
}
if (typeof(GM_setValue) != 'function' && typeof(GM_getValue) != 'function') {
	function GM_setValue(name, value) {
		document.cookie = [
			name, '=', escape(value),
			';expires=', (new Date(new Date().getTime() + 365 * 1000 * 60 * 60 * 24)).toGMTString()
		].join('');
	}
	function GM_getValue(name, value) {
		var r = new RegExp(name + '=([^;]*)'), m;
		if (m = document.cookie.match(r)) {
			return unescape(m[1]);
		}
		return value;
	}
	function GM_delValue(name, value) {
		if (GM_getValue(name, false))
			document.cookie = name + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT';
	}
} else {
	var GM_delValue = GM_setValue;
}

GM_addStyleはstyle.innerHTMLをtextContentに変えただけ。
GM_setValueはnew Date() + 365 * 1000 * 60 * 60 * 24をnew Date().getTime() + 365...に修正。
GM_getValueの正規表現に余計な/が入っていたのでそれを削除。

以上です。
[追記]
あ、もちろんOpera9.25でも使えます。
Userjsでクロスブラウザを考えるなんて! と思う部分もありますが、仕方ないですね。
[/追記]