Javascript Bookmarklet在Mozilla上不起作用,但在chrome上起作用
我写了这个书签Javascript Bookmarklet在Mozilla上不起作用,但在chrome上起作用,javascript,bookmarklet,getelementbyid,Javascript,Bookmarklet,Getelementbyid,我写了这个书签 <a href="javascript:var m = document.getElementById('xxx'); m.value=17;">test</a> 它可以在Chrome上运行,但不能在Mozilla Firefox上运行 我甚至试过 <a href="javascript:var m = document.getElementById('xxx'); m.value='17';">test</a> 但它也
<a href="javascript:var m = document.getElementById('xxx'); m.value=17;">test</a>
它可以在Chrome上运行,但不能在Mozilla Firefox上运行
我甚至试过
<a href="javascript:var m = document.getElementById('xxx'); m.value='17';">test</a>
但它也不起作用
我做错了什么?以下是制作Bookmarklet的建议步骤: 1.将所有内容放在一个立即调用的函数中 您可以使用
(function(){YOUR code}())
或(函数(){YOUR code})()代码>
2.缩小你的代码
你可以使用
3.URL编码它
你可以使用
在您的情况下,可能是这样的:
(function(){m=document.getElementById('xxx');m.value=17}());
编码为:
(function()%7Bm%3Ddocument.getElementById('xxx')%3Bm.value%3D17%7D())%3B
请参阅。它不起作用,因为FF希望跟踪链接到某个地方。这段代码有效
<a href="javascript:void(document.getElementById('xxx').value=17)">test</a>
<>但是考虑让你的代码不引人注目。可以帮你吗我提供的解决方案对你有用吗?你不能真的拥有一个不引人注目的书签。所有代码都必须是
。不过,对于任何非bookmarklet JavaScript链接,这都是一个很好的建议。这与bookmarklet无关。通常情况下,代码更易于读取、维护和重用等。