当前位置:编程学习 > JS >>

JS调用iframe问题

我想用JS来控制iframe的显示和隐藏!

并且已经成功的在网站首页实现的显示和隐藏!但是在网站的栏目启用二级域名之后就只能显示不能隐藏了!似乎是牵扯到了JS不能跨域操作的问题!下面附上代码!请高手帮忙修改一下!使其在二级域名之下依然正常!谢谢!

补充:JS代码:

  1. function hidetoolbar() {
  2.         window.parent.document.getElementById("toolbarframe").style.display="none";
  3. }
  4. function showtoolbar() {
  5.         document.getElementById("toolbarframe").style.display = "block";
  6. }

存放目录:根目录下images/js/toolbar.js

 

显示框架页代码:

  1. <DIV id="toolbarshowbtn"><A onmouseover=showtoolbar(); href=>
  2. <DIV id=toolbarframe><IFRAME src="http://www.XXXX.com/images/ftdh.htm" frameBorder=0 width="100%" scrolling=no></IFRAME></DIV>

框架页代码:

  1. <DIV id=toolbar>
  2. <UL>
      <LI><A class=close onmouseover=hidetoolbar(); href=>

代码以附上!现在的问题是。如果栏目不绑定二级域名。是可以正常的现实和关闭的!但是启用二级域名之后就只能显示不能隐藏了!请大家帮忙看看!

追问:加上了你说的代码,还是不行啊!依然提示拒绝访问?是什么原因呢?还有其他解决JS跨域处理IFRAM的方法么?

答案:在head加上

<script >

document.domain = "你的主域名";

<\script>

对于主域相同而子域不同的例子,可以通过设置document.domain的办法来解决。具体的做法是可以在http://www.f2e.me /a.html和http://script.f2e.me/b.html两个文件中分别加上document.domain = ‘f2e.me’;然后通过a.html文件中创建一个iframe,去控制iframe的contentDocument,这样两个js文件之间就可以 “交互”了。当然这种办法只能解决主域相同而二级域名不同的情况。

上一个:求几个JS视频播放器的源码
下一个:js动态创建控件不支持事件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,