不知为什么获取不到iframe里src 页面内的值 ,查了很久,没搞定。

xianghua 2008-11-18 11:52:18
1. 有一页面test.aspx 包含 <iframe id="eWebEditor1" src="../HtmlEditor/editor.htm?id=content"></iframe>

2.引用的editor.htm也包含一个<IFRAME ID="HtmlEditor" name="HtmlEditor" src="blankpage.htm">

3.blankpage.htm 页面的内容包含<body></body>

现在想在第一个页面test.aspx获取blankpage.htm页面中body的值。

我是这样写的:
var a=frames.eWebEditor1.HtmlEditor.document.body.innerHTML;

不知为什么在本机能获取到,更新到服务器上就获取不到,提示拒绝访问。我这个应该是没有跨域的。

请各位帮忙,万分感谢
...全文
697 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xianghua 2008-11-18
  • 打赏
  • 举报
回复
不清楚,为什么本机可以,到服务器就不行了呢

获取编辑器的值,如何取得呢
wfyfngu 2008-11-18
  • 打赏
  • 举报
回复
这个涉及到浏览器的安全机制

浮动框架可以访问宿主的任何对象
反之则不可


而且基本上不能通过JavaScript绕过
xianghua 2008-11-18
  • 打赏
  • 举报
回复
其实就是想获取这个src="../HtmlEditor/editor.htm?id=content"的值。
<td>
<input type="hidden" name="content" id="content" value="<div> 这是隐藏表单的内容</div>">
<iframe id="eWebEditor1" src="editor.htm?id=content" frameborder="0" scrolling="no" width="700" height="320"></iframe>
</td>
取值如下:
var FDCContent=document.getElementById("content").value;

但同样问题,这种取值方法在本机上没问题,但在服务器上就取不到值。
  • 打赏
  • 举报
回复
把这几个页面的head里加上这个看看:
<script>
document.domain = '你服务器上的根域名比如your.domain.com,则是domain.com';
</script>

三个页面都加上。
mjjzg 2008-11-18
  • 打赏
  • 举报
回复
UP
xianghua 2008-11-18
  • 打赏
  • 举报
回复
HtmlEditor 文件夹
editor.htm
test.aspx
blankpage.htm

目录结构就是这样的。


  • 打赏
  • 举报
回复
你能把这几个跨页访问的界面的url贴出来看看不?服务器上的不是你本地的。
xianghua 2008-11-18
  • 打赏
  • 举报
回复
不好意思,楼上二位可否说得更明白一些。
  • 打赏
  • 举报
回复
服务器上有域名了,估计你几个页面的域名不一样

建议将你跨页访问的页的document.domain的值设成你服务器上的域的根域名称。
cpio 2008-11-18
  • 打赏
  • 举报
回复
本地和服务器有区别的,这是安全问题

如果IFrame里面是你自己的内容,可以通过调用父页面的脚本把自己的src传进去

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧