最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

脚本中出现window.open()accessisdenied-拒绝访问情况一则及分析_基础知识

来源:动视网 责编:小采 时间:2020-11-27 20:34:21
文档

脚本中出现window.open()accessisdenied-拒绝访问情况一则及分析_基础知识

脚本中出现window.open()accessisdenied-拒绝访问情况一则及分析_基础知识:也许这个状况有的朋友已经知道了,但我还是把自己的分析思路写下来给其他的朋友参考。 昨天把blog页面另存在,在本地调试和改blog皮肤。 简介: 我想在onload页面加载完时用脚本控制,把Run HTML code, CopyCode, SaveCode这三个按扭动态的添加到cs
推荐度:
导读脚本中出现window.open()accessisdenied-拒绝访问情况一则及分析_基础知识:也许这个状况有的朋友已经知道了,但我还是把自己的分析思路写下来给其他的朋友参考。 昨天把blog页面另存在,在本地调试和改blog皮肤。 简介: 我想在onload页面加载完时用脚本控制,把Run HTML code, CopyCode, SaveCode这三个按扭动态的添加到cs


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

昨天把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)。最终简化如下:


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

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


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

运行正常~~~知道原因所在了。

这句害我找了半天的原因,总算刨它出来了,证明这句另存为的代码在IE下是会有跨域存在的,而Mozilla对这句没有任何反应。

后记:
对于另存为出现的注释代码

放在HTML任何部分,在本地非服务器端调试都会有拒绝访问的错误,而Mozilla不会。如:







文档

脚本中出现window.open()accessisdenied-拒绝访问情况一则及分析_基础知识

脚本中出现window.open()accessisdenied-拒绝访问情况一则及分析_基础知识:也许这个状况有的朋友已经知道了,但我还是把自己的分析思路写下来给其他的朋友参考。 昨天把blog页面另存在,在本地调试和改blog皮肤。 简介: 我想在onload页面加载完时用脚本控制,把Run HTML code, CopyCode, SaveCode这三个按扭动态的添加到cs
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top