IE hack for javascript & iframe



我有一个网站,链接页面上有URL链接。每个链接都会将您带到一个Frame页面,该页面是一个大的iFrame,用于拉入给定的URL。我使用javascript来实现这一点,它可以在FF、Safari、Opera和Chrome中使用,但不能在IE中使用。有人知道我能做些什么让它在IE中工作吗?

我已经在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

您似乎正在拆分?上的位置,这是否意味着您正在尝试获取参数?

如果是:

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.

更新

<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>

输入ie:file://path/to/file.html?test给我一个警告,说"测试"

最新更新