我对JavaScript知之甚少,但尽管如此,我还是想在我的wordpress博客上拼凑一些东西.它不起作用,我不知道如何解决它,嘿,这就是StackOverflow的用途,对吧?
首先,错误消息是:
Error: element.dispatchEvent is not a function
Source File: http://.../wp-includes/js/prototype.js?ver=1.6
Line: 3936
Run Code Online (Sandbox Code Playgroud)
它发生在页面加载上.我的页面加载处理程序如此注册:
Event.observe(window, 'load', show_dates_as_local_time);
Run Code Online (Sandbox Code Playgroud)
如果我禁用其他一些插件,错误就会消失,而这(加上谷歌搜索)让我得出结论,这是原型和jQuery(其他一些插件使用)之间的冲突.
其次,我遵循wordpress推荐的使用方法wp_enqeue_script,将JavaScript中的依赖项添加到Prototype库,如下所示:
add_action( 'wp_print_scripts', 'depo_theme_add_javascript' );
function depo_theme_add_javascript() {
wp_enqueue_script('friendly_dates', 'javascript/friendly_dates.js', array('prototype'));
}
Run Code Online (Sandbox Code Playgroud)
现在我也知道jQuery和Prototype之间存在一些使用jQuery noConflicts方法解决的潜在冲突.我试过从各个地方打电话,但没有好处.我不认为这是问题,因为a)noConflict函数只与$变量有关,这似乎不是问题,而b)我希望 wordpress能为我排序,因为它可以......
最后,使用Venkman调试器我已经确定element错误消息中引用的确实是一个HTMLDocument但也缺少一个dispatchEvent.不确定这是怎么发生的,因为它是一个标准的DOM方法?
--depth使用 git 2.4.3 (Fedora 22),我可以使用和选项克隆存储库-b:
$ git clone --depth 1 -b release https://github.com/adobe-fonts/source-code-pro.git fonts/source-code-pro
Cloning into 'fonts/source-code-pro'...
remote: Counting objects: 114, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 114 (delta 1), reused 105 (delta 1), pack-reused 0
Receiving objects: 100% (114/114), 7.27 MiB | 2.85 MiB/s, done.
Resolving deltas: 100% (1/1), done.
Checking connectivity... done.
Run Code Online (Sandbox Code Playgroud)
理论上git submodule add应该支持相同的选项。不幸的是它似乎不起作用:
$ mkdir foo
$ cd foo
$ git init
Initialized empty Git repository in /spare/local/arankine/foo/.git/ …Run Code Online (Sandbox Code Playgroud) 我今天必须离开我的游戏,因为我甚至看不到handleize甚至定义过滤器的位置.它位于Shopify文档中,当我在模板中使用它时,它可以正常工作.但是我看不到它的源代码,所以我无法找到如何从我的插件中调用它.
另请注意,虽然这 两个问题相似,但答案在此处不适用,因为handleize未在上述任何一个源模块中定义.
如果重要,我使用的是Jekyll 2.1.1和Liquid 2.6.1.