val*_*999 4 javascript jquery append
我需要这样简单的东西:
<script type="text/javascript">
<!--
if (screen.width <= 699) {
document.location = "mobile.html";
}
//-->
</script>
Run Code Online (Sandbox Code Playgroud)
但不是重定向,我需要<script src="js.js"></script>附加<head></head>
那可能吗?
gka*_*pak 16
看到它的实际效果: Short Demo
您可以定义一个函数,如下所示:
function appendScript(pathToScript) {
var head = document.getElementsByTagName("head")[0];
var js = document.createElement("script");
js.type = "text/javascript";
js.src = pathToScript;
head.appendChild(js);
}
Run Code Online (Sandbox Code Playgroud)
然后用适当的参数调用它(例如根据屏幕大小),如下所示:
appendScript("path/to/file.js");
Run Code Online (Sandbox Code Playgroud)
如果您还需要从中删除脚本head(例如,基于其'src'属性),您可以定义一个函数,如下所示:
function removeScript(pathToScript) {
var head = document.getElementsByTagName("head")[0];
var scripts = head.getElementsByTagName("script");
for (var i = 0; i < scripts.length; i++) {
var js = scripts[i];
if (js.src == pathToScript) {
head.removeChild(js);
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后用适当的参数调用它(例如根据屏幕大小),如下所示:
removeScript("path/to/file.js");
Run Code Online (Sandbox Code Playgroud)
另请注意,using使用screen.width返回用户屏幕的大小(而不是浏览器窗口的宽度).
如果你需要获得可以使用的窗口大小$(window).width()(使用jQuery).如果您想要一个"jQuery-free"解决方案,请查看这个跨浏览器替代方案的答案.
您可以创建一个脚本元素并设置其src属性,然后将其附加到文档的开头
var script = document.createElement('script');
script.src = 'js.js';
document.head.appendChild(script)
Run Code Online (Sandbox Code Playgroud)
如果要支持IE <9,则代替document.head使用document.getElementsByTagName('head')[0]