<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="【拒绝访问】JS拒绝访问错误的产生原因及解决办法" id="card1">
<p> 游客</p><p>
标题:【拒绝访问】JS拒绝访问错误的产生原因及解决办法<br/>
正文:<br/>
js报错:拒绝访问 该错误大部分产生在有iFrame的页面。这个时间你需要检查一下2个页面OPEN出来的地址。产生的原因是因为打开页面的地址与当前页面的地址不在一个域内，这样浏览器的安全机制会阻止JS跨域的操作。案例：在一个系统中，使用iFrame包含了第三方(另一个domain的)的页面，两个系统部署在同一台机器上，iFrame包含的页面首页是个登陆界面，在iFrame所在的页面中使用脚本获取登陆界面的内容，并且对用户名和密码域赋值并提交，以实现自动登陆。但是，如果以http://127.0.0.1:8080 来访问系统，该功能正常，以http://www.camnpr.com:8080 访问则会提示脚本错误：拒绝访问。浏览器认为http://127.0.0.1:8080 与http://www.camnpr.com:8080 不是一个域(http://www.camnpr.com:与http://camnpr.com也是不同域)，因而拒绝访问，这是浏览器的安全机制但是实际上很多时候，我们是对一个域的操作。解决办法:1.检查操作的2个页面打开地址是否在一个域下，如果不是，想办法用绝对地址，使之在一个域内2.设置浏览器的安全级别级别，使浏览器的安全校验失效。简单的办法是将之设置成信任站点3.在页面中分别加入：document.domain=&amp;quot;XXX.com&amp;quot;; <br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=57&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=57&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=57&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=57">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=57">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>