在使用在线编辑器时,我注意到以下代码:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
$(document).ready(function () {
$("button").click(function () {
$("p").hide();
});
});
</script>
<script>
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>
</html>这些代码在在线编辑器上运行得很好,然而,将相同的代码直接复制到HTML文件中并不能产生预期的结果。我做错了什么?它也可以在jsfiddle上工作,但我想知道为什么纯源代码(上面)不能工作。我在任何处理jQuery的网站上找到的所有代码示例都是这样的。
发布于 2013-05-24 01:22:59
当您使用//前缀指定脚本url时,浏览器会自动应用当前文档的协议在您的情况下可能是file:
要解决这个问题,要么从web服务器运行它(例如: apache),要么使用http://作为jquery脚本url的前缀。
发布于 2013-05-24 01:22:59
因为它将尝试从以下位置获取jQuery:
file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js发布于 2013-05-24 01:20:30
如果你在没有web服务器的情况下开发,那么如果没有https://或http://,它将无法工作。
如果您要将该文件上传到服务器,它将会正常工作。
从上面的链接:
在使用无协议参考时,要记住的主要警告是,它将在通过file:///加载的页面上失败(即,直接从磁盘加载到浏览器的
页面)。因此,如果你在没有web服务器的情况下进行开发,一定要在URL中包含http: protocol,否则不用担心会省略它。
https://stackoverflow.com/questions/16720136
复制相似问题