我在IE中运行网页时遇到此错误(代码在其他浏览器中运行正常)。
这是HTML代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<--- some html code --->
<iframe src='http://localhost/page1.php' style="background: transparent; overflow: hidden; height: 210px; width: 390px;" frameborder="0" />
</body>
</html>
这是page1.php
<!DOCTYPE html>
<html>
<body>
<form action="usercheck.php" method="POST">
USERNAME:<input name="uname" id="uname" type="text" maxlength="12" required/>
<input type="submit" value="Submit">
</form>
</body>
</html>
这是usercheck.php
<?php
//some php code
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<--- some html code --->
</body>
</html>
问题是,在usercheck.php
点击提交按钮后到达page1.php
时,我收到错误http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js. Access is denied.
以下是错误的图片:http://i.stack.imgur.com/diCoF.jpg。然后我得到错误'$'符号未定义(这是由于无法加载jquery库)。
编辑 - 我已经尝试在我的服务器中包含jquery文件,但仍然出现错误。我也尝试过usercheck.php的代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
/*! jQuery v1.10.1 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
//and the rest of the jquery library...
</script>
</head>
<body>
<--- some html code --->
</body>
</html>
我这次得到的错误是:http://i.stack.imgur.com/hR9aN.jpg(usercheck2.php的原始名称是我服务器中的rscheck.php)。然后我得到'$'符号未定义的错误(这是由于无法加载jquery库)。如果我直接打开page1.php的内容(通过url-localhost / page1.php),那么一切正常。
这是我使用JQuery的唯一代码:
if($("#pret").contents().text().search("NAMECHECK: NOTAVALIBLE")!=-1)
只有当我可以将此代码转换为javascript时,我才能排除jquery。
答案 0 :(得分:6)
这是一个合法的jQuery 1.10.1
错误:http://bugs.jquery.com/ticket/13980
使用jQuery 1.10.0
或1.10.2
不再出现错误。
答案 1 :(得分:0)
尝试将jquery.min.js
下载到您的服务器并从那里包含它。例如:
<script type="text/javascript" src="/jquery.min.js"></script>
。
看起来Internet Explorer无法访问资源:将其下载到您自己的服务器可能会解决问题。
答案 2 :(得分:0)
这是我的问题的工作解决方案。我想要jquery的原因是我想运行这段代码:
if($("#pret").contents().text().search("NAMECHECK: NOTAVALIBLE")!=-1)
我删除了jquery库并使用此javascript执行相同的操作:
var n=document.getElementById("pret").innerHTML.search("NAMECHECK: NOTAVALIBLE");
if(n != -1)
现在页面中没有错误,我可以做我想要的。因此,错误是由于jquery库无法在网页中加载而导致的。但我不知道为什么即使在我的服务器下载jquery库后我得到了同样的错误,即。 “访问被拒绝”。
答案 3 :(得分:-1)
原因在于iframe
。当jQuery从外部主机加载到iframe中时,每当您尝试在主/外部html文件中使用任何jQuery函数时,IE都会因安全原因而抛出错误。
1)将jQuery上传到您的服务器,
2)或仅将其包含在主html文件中(不在iframe中)。