表中的Javascript在IE中给出错误“此内容无法在框架中显示”

时间:2012-10-25 12:00:06

标签: javascript internet-explorer

我正在使用Wordpress并在帖子中有一个简单的HTML表格。我使用javascript使所有行都可以点击到URL。某些客户端使用Internet Explorer报告错误,“此内容无法在框架中显示”。我需要两件事:

  1. 要在新标签页中打开的链接(当前在同一窗口中打开)
  2. 要删除此错误(即使下面的内容也会显示错误)。
  3. 有什么想法吗?提前致谢

    <table class="mytable">
    <tbody>
    <tr>
    <th>Title</th>
    <th>Author</th>
    <th>Publisher</th>
    <th>ISBN</th>
    </tr>
    <tr onclick="document.location = 'http://amazon.com/dp/1234567890';">
    <td><strong><em>Book A</em></strong></td>
    <td>rrr</td>
    <td>hhh</td>
    <td>123414</td>
    </tr>
    <tr class="alt" onclick="document.location = 'http://amazon.com/s?index=books&amp;field-author=fred';">
    <td><strong><em>Book B</em></strong></td>
    <td>VVV</td>
    <td>AAA</td>
    <td>n/a</td>
    </tr>
    </tbody>
    </table>
    

1 个答案:

答案 0 :(得分:1)

使用锚点可以做到这一点,但每行中每列需要一个,我想你不会这样做!

我似乎无法复制你得到的错误,我猜你使用的是不同版本的IE。

使用TR onclick事件似乎是最简单的方法。

由于您希望链接在新窗口或选项卡中打开(它不在您的控件中,因为它取决于客户端浏览器的配置方式),您可以使用window.open()而不是像您一样更改window.location目前正在。

<script type="text/javascript">
function navigate(url) {
  window.open(url);
}
</script>

沿着这些行添加一些内容到页面的头部。

<tr onclick="navigate('where.you/want-to-go');">

你将能够像那样使用它。我不知道这是否会触发任何弹出窗口阻止类型的东西,但是对于我的测试,它打开了一个新标签。

window.open函数可以采取一些额外的参数来尝试强制新的标签或窗口等,但不知道有多少浏览器它的工作原理和效果。