我正在管理 Bookmarklet,当它点击时在任何网站上创建一个笑脸。
Javascript 运行良好,但我无法通过书签使相同的脚本完美运行(烦人的输出)。
javascript jsfiddle 小
书签jsfiddle
现在我所做的只是安排小书签
javascript:(function() {
// All javascript code
}
)();
请建议如何管理书签脚本,以便我可以拖放笑脸。
我正在管理 Bookmarklet,当它点击时在任何网站上创建一个笑脸。
Javascript 运行良好,但我无法通过书签使相同的脚本完美运行(烦人的输出)。
javascript jsfiddle 小
书签jsfiddle
现在我所做的只是安排小书签
javascript:(function() {
// All javascript code
}
)();
请建议如何管理书签脚本,以便我可以拖放笑脸。
改变
document.onmouseup=new Function("isdrag=false");
到
document.onmouseup = function() {isdrag=false};
原因:当您将所有代码包装在外部函数块中以创建书签时,“var isdrag”的范围从窗口级别更改为该外部函数的本地。另一方面new Function("isdrag=false")
,在窗口级别创建一个新函数,转义当前范围,并且该新创建函数中的“isdrag”无法访问您认为它正在访问的“var isdrag”。解决方案是通过不使用“new Function(...)”在与“var isdrag”相同的范围内创建新函数。