jquery 不能在 wordpress 中工作
Posted
技术标签:
【中文标题】jquery 不能在 wordpress 中工作【英文标题】:jquery not working in wordpress 【发布时间】:2011-04-14 05:56:23 【问题描述】:Wordpress 没有加载 jquery - 我认为这可能与它绝对加载文件的事实有关,而不是相对加载,它不会转到 url(萤火虫说访问被拒绝限制 uri) .我已经测试了 vanilla javascript 并且可以正常工作,但是一旦我尝试在$(document).ready(function())
中执行最基本的功能,它就会停止工作.. 有没有办法阻止 wordpress 将网站 uri 附加到链接文件并参考相反,它们是相对的,因为我认为这可能会解决它。
输出头部如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>simplespace — not quite ready yet</title>
<meta name="generator" content="WordPress 3.0.1" /> <!-- leave this for stats -->
<link rel="stylesheet" href="http://simplespace.co.nz/wp-content/themes/blass2/style.css" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://simplespace.co.nz/feed/" />
<link rel="alternate" type="text/xml" title="RSS .92" href="http://simplespace.co.nz/feed/rss/" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="http://simplespace.co.nz/feed/atom/" />
<link rel="pingback" href="http://simplespace.co.nz/xmlrpc.php" />
<link rel="shortcut icon" href="http://simplespace.co.nz/wp-content/themes/blass2/favicon.ico" />
<link rel='archives' title='September 2010' href='http://simplespace.co.nz/2010/09/' />
<link rel='stylesheet' id='sociable3-css' href='http://simplespace.co.nz/wp-content/plugins/sociable-30/sociable.css?ver=5.10' type='text/css' media='all' />
<script type='text/javascript' src='http://simplespace.co.nz/wp-includes/js/jquery/jquery.js?ver=1.4.2'></script>
<script type='text/javascript' src='http://simplespace.co.nz/wp-content/plugins/wordpress-flickr-manager/js/jquery.lightbox.js?ver=3.0.1'></script>
<script type='text/javascript' src='http://simplespace.co.nz/wp-content/plugins/wordpress-flickr-manager/js/wfm-lightbox.php?ver=3.0.1'></script>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://simplespace.co.nz/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://simplespace.co.nz/wp-includes/wlwmanifest.xml" />
<link rel='index' title='simplespace' href='http://simplespace.co.nz/' />
<meta name="generator" content="WordPress 3.0.1" />
<script type="text/javascript" src="http://simplespace.co.nz/wp-content/plugins/audio-player/assets/audio-player.js?ver=2.0.4.1"></script>
<script type="text/javascript">AudioPlayer.setup("http://simplespace.co.nz/wp-content/plugins/audio-player/assets/player.swf?ver=2.0.4.1", width:"400",animation:"yes",encode:"yes",initialvolume:"60",remaining:"no",noinfo:"no",buffer:"5",checkpolicy:"no",rtl:"no",bg:"dcf2fa",text:"333333",leftbg:"dcf2fa",lefticon:"333333",volslider:"666666",voltrack:"cfcfcf",rightbg:"9ee1f7",rightbghover:"dcf2fa",righticon:"333333",righticonhover:"333333",track:"FFFFFF",loader:"9ee1f7",border:"CCCCCC",tracker:"dcf2fa",skip:"666666",pagebg:"FFFFFF",transparentpagebg:"yes");</script>
<!-- WFM INSERT LIGHTBOX FILES -->
<link rel="stylesheet" href="http://simplespace.co.nz/wp-content/plugins/wordpress-flickr-manager/css/lightbox.css" type="text/css" />
<!-- WFM END INSERT -->
<script type='text/javascript'>
$(document).ready(function()
alert('test');
);
</script>
</head>
【问题讨论】:
请在 中添加您现在拥有的内容。看来您可能没有在 $(document).ready(function()) 之前的标题中包含 jquery 文件 【参考方案1】:Wordpress 将 jQuery 置于禁用 $()
功能的无冲突模式。除非您在 jQuery 中禁用无冲突模式,否则您必须使用 jQuery()
而不是 $()
。
【讨论】:
【参考方案2】:试试这个:
为那些面临同样问题的人提供完整的答案
您可以将javascript
包装在一个自调用函数中,然后将jQuery
作为参数传递给它,使用$
作为局部变量名。例如:
(function($)
$(document).ready(function()
alert('test');
);
(jQuery));
WordPress 包含的jQuery
库设置为noConflict()
模式。这是为了防止与 WordPress 可以链接的其他 JavaScript 库的兼容性问题。
在noConflict()
模式下,jQuery 的全局$
快捷方式不可用。
【讨论】:
【参考方案3】:我查看了网站,jquery 正在加载。这个:
<script type='text/javascript'>
$(document).ready(function()
alert('test');
);
</script>
无法工作,因为 WordPress 在无冲突模式下使用 jquery。这个:
jQuery(document).ready(function($)
alert('test');
);
是在无冲突模式下应该如何调用它。灯箱插件也抛出错误:
Uncaught TypeError: Object # has no method 'lightBox'
【讨论】:
以上是关于jquery 不能在 wordpress 中工作的主要内容,如果未能解决你的问题,请参考以下文章
为啥这个 jQuery AJAX PUT 可以在 Chrome 中工作,但不能在 FF 中工作
jQuery Ajax 在 IE 6/7/8 中不工作,在 FF/Safari/Chrome 中工作
jquery on('change'......不能在多个标签中工作[重复]
为啥以下 jquery 可以在 jsfiddle 中工作,但不能在任何浏览器上工作? [关闭]