アイクリックでWindows8と同じように、ホバーでパスワードを表示するスクリプトを1つ作成しました。
この機能は、次のコードを使用してJavaScriptで作成しました。
function text(){this.type="text"}function password(){this.type="password"}function addHandlers(){var e=false;var t=document.evaluate("//input[@type='password']",document,null,6,null);for(var n=t.snapshotLength-1,r;r=t.snapshotItem(n);n--){if(!e){r.addEventListener("mouseover",text,false);r.addEventListener("mouseout",password,false)}else{r.addEventListener("focus",text,false);r.addEventListener("blur",password,false)}}}addHandlers()
パックされたJavaScriptコードで申し訳ありませんが、このスクリプトを実行するブックマークまたはブックマークレットを作成したいと思います...
私は試した:
javascript:(mycode);
しかし、それはうまくいきませんでした...
あなたの特定の問題を解決するために、私はあなたのJavaScriptコードをこのバージョンでエラーなしで実行することに成功しました:
javascript:(function(){function text(){this.type="text"};function password(){this.type="password"};function addHandlers(){var e=false;var t=document.evaluate("//input[@type='password']",document,null,6,null);for(var n=t.snapshotLength-1,r;r=t.snapshotItem(n);n--){if(!e){r.addEventListener("mouseover",text,false);r.addEventListener("mouseout",password,false)}else{r.addEventListener("focus",text,false);r.addEventListener("blur",password,false)}}};addHandlers();alert("bookmarklet loaded");})();
コードが機能するかどうかを確認するために、ブックマークレットの最後にalert("bookmarklet loaded");
を追加しました。そのため、Firefox 17でテストしたので、結果としてメッセージボックスが表示されることを確認してください。あなたのコードが機能するか機能しないかは言えませんが、もちろんこれは問題ではありませんでした。
_<script></script>
_タグ内のJavaScriptコードの変換をブックマークレットに採用しやすくするために、覚えておくことができることがいくつかあります。
例を見てみましょう。 2つの命令を含む2つのソースコードスニペットを作成しましょう。
_var anumber=1
var atext="hallo"
_
すべてを1行にまとめると(=空白に改行を入れる)、最初は次のようになります。
_var anumber=1 var atext="hallo"
_
これはもはや有効なJavaScriptコードではありません。 2つの命令を1行で結合する場合は、次のようなセミコロンを使用して2つの命令を区切る/区切る必要があります。
_var anumber=1; var atext="hallo"
_
javascript:(function(){ [...here your code...] })();
解決策を調査するためにそこにかなりの数のウェブサイトがあります。のように ここ 。
あなたは実際にはかなり近かった。あなたはそれをこのように置く必要があります:
javascript:(function(){mycode})();
あなたの例では、これを試すことができます:
javascript:(function(){function text(){this.type="text"};function password(){this.type="password"};function addHandlers(){var e=false;var t=document.evaluate("//input[@type='password']",document,null,6,null);for(var n=t.snapshotLength-1,r;r=t.snapshotItem(n);n--){if(!e){r.addEventListener("mouseover",text,false);r.addEventListener("mouseout",password,false)}else{r.addEventListener("focus",text,false);r.addEventListener("blur",password,false)}}};addHandlers()})();
コードを縮小するときはセミコロンに注意してください。セミコロンの一部が欠落しています。