gpt4 book ai didi

javascript - getScript 不加载本地脚本

转载 作者:行者123 更新时间:2023-11-30 17:11:46 27 4
gpt4 key购买 nike

我正在尝试使用 getScript 在本地加载 javascript 文件,但它返回 404 错误。

test.js - 我正在尝试加载的脚本:

var hello = function(){
alert( "test" );
}
hello();

来自 index.html 的 jQuery 代码:

<script type='text/javascript'>
$.getScript( "js/test.js" )
.fail( function( e ){ $( 'body' ).html( JSON.stringify( e ) ) } )
.done( function(){ alert( "Success" ) } );
</script>

当我在 Chrome 中打开 index.html 时,getScript 失败,并在正文中显示以下内容:

{"readyState":4,"responseText":"","status":404,"statusText":"error"}

很明显,jQuery 找不到指定的文件。但奇怪的是,当我使用传统标签时:

<script type='text/javascript' src='js/test.js'></script>

它工作正常。

此外,如果我从外部站点加载,getScript 也能正常工作,例如:

$.getScript( "http://www.youtube.com/player_api" )

那么可能是什么问题呢?

最佳答案

啊哈,关键是您在本地机器上运行它并尝试从本地硬盘驱动器获取脚本。

问题是 $.getScript() 使用 Ajax 调用来加载脚本,并且默认情况下不允许 Ajax 调用在某些浏览器(如 Chrome)中从您的硬盘获取内容安全原因。如果从真实的 Web 服务器加载,这将不是问题。

您可以通过自己插入脚本标记而不是使用 jQuery 的 $.getScript() 或不尝试从本地硬盘运行它来解决这个问题。还有一个 Chrome 命令行参数可以绕过此安全限制,您可以将其用于开发目的(不推荐用于一般用途的浏览)。

关于javascript - getScript 不加载本地脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com