2

当我在 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。

4

4 回答 4

6

这是一个合法的jQuery 1.10.1错误:http ://bugs.jquery.com/ticket/13980 。
使用jQuery 1.10.0, 或1.10.2不再发生错误。

于 2013-09-09T16:35:54.543 回答
0

尝试下载jquery.min.js到您的服务器并从那里包含它。例如:

<script type="text/javascript" src="/jquery.min.js"></script>.

看起来 Internet Explorer 无法访问该资源:将其下载到您自己的服务器可能会解决问题。

于 2013-06-20T12:52:15.403 回答
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 库后,我也得到了同样的错误,即。'访问被拒绝'。

于 2013-06-21T07:21:20.417 回答
-1

原因在iframe. 由于 jQuery 是从外部主机加载到 iframe 中的,因此每次尝试在主/外部 html 文件中使用任何 jQuery 函数时,IE 都会出于安全原因引发错误。

1)将 jQuery 上传到您的服务器,

2)或仅将其包含在主 html 文件中(不在 iframe 中)。

于 2013-06-20T12:56:37.303 回答