我创建了一个脚本,该脚本在鼠标悬停时显示密码,就像单击Windows 8一样。
我已经使用以下代码通过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代码转换更容易用于书签。
让我们举个例子。让我们有两个带有两个指令的源代码片段:
var anumber=1
var atext="hallo"
当将所有内容放在一行中时(=将换行符换成空白),您首先会得到以下结果:
var anumber=1 var atext="hallo"
这不再是有效的JavaScript代码。如果要在一行中合并两个指令,则需要使用分号来分隔/定界这两个指令,如下所示:
var anumber=1; var atext="hallo"
javascript:(function(){ [...here your code...] })();
有很多网站可以研究该解决方案。喜欢这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句