Jscript运行时错误:没有权限

问题:我在页面A中放了一个iframe ,然后在iframe 的子页面中调用主页面中的javascript函数,结果报错Jscript运行时错误:没有权限

查原因:在网上查了一下,有的人说是逻辑错误,比如先关闭了iframe然后又要调用主页面当中的函数。我没有调用关闭主页面的方法,所以这种可能排除。还有的人说是子页面跨域了,仔细检查了一下iframe的src地址,对了,问题就出在了这:我的iframe的src地址是动态生成的。为了适应不同文件夹下的文件所以就把程序的发布地址记录在了xml文件当中,然后src的地址就是这个发布路径加上页面的名称,所以iframe的src最后的格式大概就是:http://+网站的虚拟路径+页面名称。这个src路径当然会被认为是跨域的,实际上应该用相对路径。由于浏览器的一些安全方面的措施,javascript跨域访问是被禁止的(有很多的欺诈性的网站就是利用javascript跨域访问获取客户端的cookie等敏感信息的),所以就报了以上错误。

解决:知道了原因,解决就容易了,我用 Request.ApplicationPath 获取了程序根目录的相对路径,然后src的格式就改成了这样:Request.ApplicationPath+文件夹名称+页面名称。测试一下,OK搞定,呵呵,原来都是自己的错啊。

posted @ 2009-02-07 17:36  白夜   阅读(2245)  评论(1编辑  收藏  举报