Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bookmarklet中出错,而不是javascript中的错误_Javascript_Bookmarklet - Fatal编程技术网

bookmarklet中出错,而不是javascript中的错误

bookmarklet中出错,而不是javascript中的错误,javascript,bookmarklet,Javascript,Bookmarklet,我正在管理Bookmarklet,当它在任何网站上单击时,都会创建一个笑脸。 Javascript可以很好地工作,但我无法从bookmarklet(恼人的输出)中让相同的脚本完美地工作 javascript 书签 现在我所做的只是安排书签,就像 javascript:(function() { // All javascript code } )(); 请建议如何管理bookmarklet脚本,以便我可以拖放笑脸。更改 document.onmouseup=new Function("isd

我正在管理Bookmarklet,当它在任何网站上单击时,都会创建一个笑脸。
Javascript可以很好地工作,但我无法从bookmarklet(恼人的输出)中让相同的脚本完美地工作

javascript
书签

现在我所做的只是安排书签,就像

javascript:(function() {
// All javascript code

}
)();
请建议如何管理bookmarklet脚本,以便我可以拖放笑脸。

更改

document.onmouseup=new Function("isdrag=false");

原因:当您将所有代码包装在一个外部函数块中以创建bookmarklet时,“var isdrag”的范围从窗口级别更改为外部函数的本地范围。另一方面,
new Function(“isdrag=false”)
在窗口级别创建一个新函数,以跳出当前范围,并且该新创建函数中的“isdrag”无法访问您认为它正在访问的“var isdrag”。解决方案是通过不使用“newfunction(…)”在与“var isdrag”相同的范围内创建新函数

document.onmouseup = function() {isdrag=false};