2011-06-15 109 views
1

我有一个网站链接页面上的URL链接。每个链接都会将您带到一个Frame页面,该页面是一个吸引给定URL的大型iFrame。我使用JavaScript来做到这一点,它适用于FF,Safari,Opera和Chrome,但不是IE。有谁知道我能做些什么来让它在IE中工作?IE浏览器黑客的JavaScript和iframe

我已经在WordPress中构建它。我有这样的标签和标签之间的头部分:

<script type="text/javascript" language="javascript"> 
     function loadIF() { 
     iFrameSrc=location.href.split('?'); 
     if (iFrameSrc[1] != null) { 
      document.getElementById('external').src=iFrameSrc[1]; 
      } 
     else { 
      document.getElementById('external').src='default_page.htm' 
      } 
     } 
    </script> 

然后我把这个header.php文件,以及:

<body onload="loadIF()" <?php body_class(); ?>> 

这里是链接标记:

<a href="/frame1?http://www.website.com">Website</a> 

谢谢 - Chris

+1

更多信息将是有益的... – William 2011-06-16 02:21:38

回答

0

您好像在拆分?上的位置吗?帽子意味着你正在尝试获取参数?

如果是这样:

iFrameSrc = location.search; 
if(iFrameSrc) 
{ 
    ... // Code here 
} 
else 
{ 
    ... // Code here 
} 

,或者尝试

if(iFrame && iFrame.length > 2) 
{ 
    ... // Code here 
} 
else 
{ 
    ... // Code here 
} 

编辑确定,所以看到你的编辑后,我想我最好补充一点:

在第一个代码示例我给您将第一个... // Code here替换为:

document.getElementById('external').src= iFrameSrc.substr(1); // This will remove the leading question mark. 

UPDATE

<html> 
    <head> 
     <title></title> 
     <script type="text/javascript"> 
     function iFrameIF() 
     { 
      iFrameSrc = location.search; 
      if (iFrameSrc) 
      { 
       alert(iFrameSrc.substr(1));//document.getElementById('external').src = iFrameSrc.substr(1); 
      } 
      else 
      { 
       alert(); //document.getElementById('external').src = 'http://about:blank' 
      } 
     } 
     </script> 
    </head> 
    <body onload="iFrameIF()"> 
     <iframe width="100%" height="1000" marginheight="1" marginwidth="1" align="top" allowtransparency="true" frameborder="0" name="external" id="external"></iframe> 
     <br /> 

    </body> 
</html> 

打字到即:file://path/to/file.html?test了我一个警告说“测试”

+0

感谢詹姆斯,我试了一下,现在的URL请勿在任何浏览器中加载。我是一个关于JavaScript的白痴......这是你的意思代码: - 对不起 - 无法弄清楚如何使此代码模式... – 2011-06-16 00:21:07

+0

我做了错字改变'iFrame.substr(1);''iFrameSrc.substr(1);'。抱歉! – 2011-06-16 00:23:40

+0

谢谢詹姆斯...代码再次在Chrome浏览器中正常工作,但不IE ... – 2011-06-16 00:32:40

相关问题