2013-06-20 56 views
2

我在IE中运行我的网页时遇到此错误(代码在其他浏览器中运行正常)。JavaScript错误“访问被拒绝”在Internet Explorer中

这是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库)。

EDIT- 我试过在我的服务器中包括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

是互联网可以让你.. ?? – Pranav

+0

'usercheck.php'是否加载到iframe中? – ExceptionLimeCat

+0

yes if iframe – Sid

回答

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库后,我得到了相同的错误ie。 '访问被拒绝'。

0

尝试将jquery.min.js下载到您的服务器并将其包含在内。例如:

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

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

-1

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

1)请上传的jQuery到你的服务器,

2)或将其包含在主HTML文件中只(不提供iframe)。

+0

错误是当iframe页面试图访问jQuery库 – Sid

+0

然后最好的方法是上传jQuery(也许还有其他js文件)到你的服务器,所以它们都托管在你的端。 –

+0

确保本地托管的jQuery包含一次,并尝试将其包含在usercheck.php中。 –