【发布时间】:2013-02-12 18:03:02
【问题描述】:
在过去的几个小时里,我尝试让 YepNope 和一些 Modernizr 测试正常工作,但没有任何运气。
Modernizr 在页面底部的头部、jQuery、plugins.js 和script.js 中加载(按此顺序)。没什么花哨的,但很方便,因为在scripts.js 中调用的每个资源在执行时都已经可用。所有脚本都已正确加载,测试是唯一正在进行的脚本。
我想测试是否需要为表单验证加载 polyfill,所以这是测试:Modernizr.formvalidationapi。当然,我确保在我的构建中包含Modernizr.addTest 和forms-validation 非核心检测,以及HTML5 输入类型和属性以及Modernizr.load,基本上是yepnope.js
所以在我的script.js 中,有以下内容:
yepnope({
test : Modernizr.formvalidationapi,
yep : alert("yep"),
nope : alert("nope")
});
我添加警报当然只是为了调试。
我在 Safari 6.0.2 和 Firefox 18.0.2 中对此进行了测试,两次都提示“是”,然后是“否”,所以我认为某处有错误。
我还尝试将代码包装在一个文档就绪包装器中,这没有任何改变。
由于 jQuery 在 Wordpress 中以无冲突模式运行,我相信(不能使用“$”,而必须使用“jQuery”),我将其包含在内以将美元符号重新映射到 jQuery:
(function($){})(window.jQuery);
它也什么也没做。
目前我认为这与 Wordpress 自己的 wp_register_script 和 wp_enqueue_script 有关,但我不确定是否可以在 Wordpress 中使用 Modernizr 测试网站。
我哪里错了?
P.S.:我知道还有 http://wordpress.stackexchange.com,但我在这里发布了我的问题,因为我相信问题出在我的脚本中,而不是 Wordpress。如果您愿意,我当然可以在那里发布问题。
【问题讨论】:
标签: jquery wordpress modernizr yepnope browser-feature-detection