Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > 脚本中出现 window.open() access is denied - 拒绝访问 情况一则及分析
【标  题】:脚本中出现 window.open() access is denied - 拒绝访问 情况一则及分析
【关键字】:window.open,access,is,denied
【来  源】:http://blog.csdn.net/BlueDestiny/archive/2006/07/21/953746.aspx

脚本中出现 window.open() access is denied - 拒绝访问 情况一则及分析

Your Ad Here

也许这个状况有的朋友已经知道了,但我还是把自己的分析思路写下来给其他的朋友参考。

昨天把blog页面另存在,在本地调试和改blog皮肤。

简介:
我想在onload页面加载完时用脚本控制,把Run HTML code, CopyCode, SaveCode这三个按扭动态的添加到css类名为code_textarea的多行文本框里。

状况描述:
在非服务器端(即没有在本地服务器下调试)按扭已经全部出现在多行文本框下,但在调试脚本时(点击Run HTML code),出现拒绝访问...服务器下调试正常。

分析:
查看代码,发现是这里脚本出错,代码如下:
function fnRunHtmlCode(obj)
{
  //try {
      //if (typeof(obj)=="string") obj=document.getElementById(obj);
    var wnd = window.open('', "_blank", '');
    wnd.document.open('text/html', 'replace');
    wnd.document.writeln(obj.value);
    wnd.document.close();
  //} catch(ex) { alert(ex.message) };
};
用Mozilla打开,运行正则,并且脚本没有任何错误。弄了将半个小时,我把其余的代码都删了,在Mozilla中把动态生成的div和button代码copy出来察看,把在IE上动态加载的button拷贝到dw里看,没有异常。包括把上面的function放在另外一个页面上运行,依然是正常,并把这个function单独改成了window.open('','','')还是拒绝访问。

既然是拒绝访问,一般情况下肯定是跨域了,但本地调试,没有加其它的代码呀,怎么跨域?百思不得其解。
于是想先放上blog再说了。奇怪的是放上服务器又可以了,于是我把本地的页面放到本地服务器下运行,也是正常。这回就更蹊跷了。说是IE bug?不成立,因为服务器可以运行。代码问题?不成立,因为在其它页面正常,而且没有涉及到其它的代码。只是funtion,说明肯定是下载的这页有问题,难道CSDN blog输出的HTML页有document.domain类似的代码吗?

分步调试成功:
把原先所有的代码不需要的地方全部去掉(包括Html)。最终简化如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://blog.csdn.net/BlueDestiny/category/184440.aspx -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>never-online 's Tech Blog In CSDN - JS & DHTML</TITLE>
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript">
function addEvent(o,w,f) {
  if (document.all) {
    o.attachEvent('on'+w, f);
  } else {
    o.addEventListener(w, f, false);
  }
}
function fnRunHtmlCode(obj)
{
    var wnd = window.open('', '', '');
};
function fnReadyToRunHTMLcode() {
    insertRunHtmlBtn(document.getElementById("demo"));
    function insertRunHtmlBtn(obj) {
      var wrapper = document.createElement("DIV");
      wrapper.style.margin="10px 0 10px 0";
      var runBtn = document.createElement("INPUT");
      runBtn.type = "button";
      runBtn.value = "Run HTML Code";
      addEvent(runBtn, "click", function() { fnRunHtmlCode(obj) });
      obj.parentNode.insertBefore(wrapper, obj.nextSibling);
      wrapper.appendChild(runBtn);
    }
  //} catch (ex) {}
}
onload = fnReadyToRunHTMLcode;
</script>
<div class="postText">
<textarea class="code_textarea" id="demo">
</textarea>
</div>
</body>
</html>

运行依然如故。
于是再把DTD去掉。

运行正常~~~知道原因所在了。
<!-- saved from url=(0053)http://blog.csdn.net/BlueDestiny/category/184440.aspx -->
这句害我找了半天的原因,总算刨它出来了,证明这句另存为的代码在IE下是会有跨域存在的,而Mozilla对这句没有任何反应。

后记:
对于另存为出现的注释代码
<!-- saved from url=....-->
放在HTML任何部分,在本地非服务器端调试都会有拒绝访问的错误,而Mozilla不会。如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<!-- saved from url=(0053)http://blog.csdn.net/BlueDestiny/category/184440.aspx -->
<input type="button" value="run" onclick="window.open('','','')"/>
</body>
</html>

url重写 apache+tomcat window2k 开发配置:【上一篇】
做FTP功能--文件夹,文件上传:【下一篇】
【相关文章】
  • 体验Visual Studio.NET 2005无刷新页面
  • HashTable 的Values为ArrayList怎么取值?在线等待!
  • 设计界面拖入DorpDownList控件时,弹出错误_AX
  • Getting started with Java Persistence API
  • tomcat5.0 下JNDI javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 问题的...
  • is DTO an antipattern in EJB 3.0 ?
  • Tomcat 中 "The value for the useBean class attribute is invalid" 错误的排除
  • Resin和IIS集成后速度很慢的解决办法
  • SubItem Selection in List Control改进版
  • McAfee 8.0i Enterprise优化设置
  • 【随机文章】
  • 利用Java Mail API 开发邮件通知服务
  • [20060426]油条恋爱和熬粥恋爱
  • Windows CE 下I/O操作基础
  • Linux网络服务配置方法
  • 传奇世界 守沙战术之我见
  • 位图进度条
  • 企业网络防范Serv-U的漏洞
  • 链接目标需要动态变化或多参数表示
  • 向全光网演进
  • 在linux中使用光驱
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.