1

我在我的一个项目中使用 Modernizr。我想在下载 polyfill 之前测试占位符的存在。这是我用来完成此操作的代码:

yepnope({
    test : Modernizr.input.placeholder,
    nope : '/js/jquery.placeholder.js',
    complete: function(){
        $('input, textarea').placeholder();
    }
});

我遇到了一个奇怪的问题。当我在没有从缓存加载任何资源的情况下点击页面时,它可以完美运行,但是如果我刷新页面,我会收到调用 .placeholder() 的未定义方法错误。

查看开发工具,一个空的 jquery.placeholder.js(来自缓存)似乎是罪魁祸首。我可以在 Fiddler 中验证第二个响应是否返回 304,并发送一个空正文,这意味着 IE 缓存中应该有正确的版本,但不知何故它是空的。什么可能导致这种行为?

编辑:如果我将 placeholder.js 添加到头部,则一切正常。只是想我会指出这一点。

4

0 回答 0