如果此功能不可用,我使用Modernizr检查功能,即csscolumns,并运行Modernizr.load()
以使用css3-multi-column.js polyfill。除了Modernizr / yepnope在Modernizr脚本元素之前以及样式表之前插入脚本这一事实外,这一切都很好。由于Modernizr将脚本添加到页面末尾,因此我希望在所有样式表之后包含css3-multi-column.js
。这可能吗?
这是我的代码:
Modernizr.load({
test: Modernizr.csscolumns,
nope: 'http://host.org/js/libs/css3-multi-column.js';
});
如果可能的话,这就是我想用Modernizr完成的事情:
if (!Modernizr.csscolumns) {
var script = document.createElement( 'script' );
script.type = "text/javascript";
script.src = 'http://host.org/js/libs/css3-multi-column.js';
$('body').append(script);
}
答案 0 :(得分:1)
我只是偶然发现了同样的问题,并查看了 Modernizr (yepnope.js)代码,这绝对不可能在页面末尾添加脚本。
所以,不幸的是,你的解决方案很好。
另一种可能的解决方案是将 Modernizr 放在页面底部(但IE8会中断,请参阅底部注释here)?
另外,在我的情况下,我的所有样式表都在 Modernizr 插入的css3-multi-column.js
脚本之前,但它也没有用。但使用您的方法可以解决问题。使用您的方法,它也可以在追加到HEAD
时使用。所以问题不在于插入脚本的地方而是其他的东西?