【发布时间】:2012-04-27 18:54:25
【问题描述】:
我正在尝试基于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,但对于这个示例,我假设它已经在页面上。
编辑:我发现并解决了这个问题。我将在下面发布我的答案,希望我可以帮助任何有类似情况的人。
【问题讨论】:
-
为什么您的书签中有
%20?这会导致语法错误。 -
哦,真的吗?我不知道!在我见过的大多数书签中,空格被编码为
%20。 -
检查控制台以查看是否附加了脚本元素,以便排除
-
是的,它正在被附加。如果我将警报或控制台日志消息添加到它被调用的 js 文件中,那么我知道脚本正在运行。我只是不明白为什么颜色选择器没有以这种方式初始化
-
你不需要空格,更不用说
%20,在function()标记之后(在左大括号之前)。
标签: javascript jquery bookmarklet color-picker