自分のサイトからサード パーティ サイトのダイアログにデータを読み込むブックマークレットを作成しました。
- これは、サード パーティのサイトのユーザーが手動で行うと面倒な機能をサポートするためです。
- ブックマークレットは、画像のハイパーリンクから Chrome および Firefox のお気に入り/ブックマーク バーにドラッグすると機能します。
- ただし、IE(9) では、一部のデータを変更してハイパーリンクを編集し、元に戻してから [OK] をクリックすることによってのみ、それを行うことができます。内容は変わらない
スクリプトの一般的なバージョンを以下に貼り付けました
function loadScript(url, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded"
|| script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
if (typeof (runMyCode) == "undefined") {
loadScript(
"http://mysite/myscript.js",
function() {
runMyCode();
});
} else {
runMyCode();
}
たとえば、最後のセミコロンを削除してブックマークレットを保存すると、機能します:/
編集:以下にhtmlを追加
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>My tile</title>
<link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico">
</head>
<body>
<a href="javascript:function loadScript(url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; if(script.readyState) { script.onreadystatechange = function() { if (script.readyState == "loaded" || script.readyState == "complete") { script.onreadystatechange = null; callback(); } }; } else { script.onload = function() { callback(); }; } script.src = url; document.getElementsByTagName("head")[0].appendChild(script);}if (typeof(runMyCode) == "undefined") {loadScript("http://mysite/myscript.js",function() {runMyCode();});} else{ runMyCode();}"
title="Drag me to your Bookmark and click me to check your remaining tiles in a game">
<img border="0" alt="My Alt Text" src="http://mysite/myimage" />
</a>
<br/>
<span>Drag the image above to your bookmarks toolbar<br/>and more text</span>
</body>
</html>