0

我正在管理 Bookmarklet,当它点击时在任何网站上创建一个笑脸。
Javascript 运行良好,但我无法通过书签使相同的脚本完美运行(烦人的输出)。

javascript jsfiddle 小
书签jsfiddle

现在我所做的只是安排小书签

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

}
)();

请建议如何管理书签脚本,以便我可以拖放笑脸。

4

1 回答 1

0

改变

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

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

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

于 2013-02-21T05:35:59.763 回答