我尝试根据jQuery Color Picker Plugin创建书签。如果我将JavaScript文件包含在页面的标题中(example),一切正常,但如果我将脚本从书签附加到页面,则颜色选择器永远不会被初始化(example) 。为了清晰起见,我尽可能地简化了js。
这里是小书签代码:
javascript:(function()%20{_my_script=document.createElement('script');_my_script.type='text/javascript';_my_script.src='http://forwardbeats.com/sandbox/colorpicker.js';document.getElementsByTagName('head')[0].appendChild(_my_script);})();
脚本被正确地附加到页面上并且似乎正在运行,但是拾取器永远不会被初始化。关于可能出现什么问题的任何想法?
注意:我通常也会测试jQuery等等,但是对于这个例子,我假设它已经在页面上。
编辑:我找到并解决了这个问题。我将在下面发布我的答案,希望我可以帮助任何有类似情况的人。
答案 0 :(得分:0)
问题根本不在书签中,而是我所包含的js文件。出于某种原因,代码在页面中包含时工作正常,但在书签附加时却没有。
我注意到在使用bookmarklet时,脚本在注册之前尝试调用颜色选择器初始化函数。解决问题的所有方法都是改变我从colorPickerInit()
调用的地方。之前,我在eye()
之后调用它,负责调用colorPickerInit()
中注册的函数。通过在colorPickerInit()
内移动eye()
,现在一切正常!