0

私は Wordpress を使用しており、投稿に単純な HTML テーブルがあります。JavaScript を使用して、すべての行をクリックして URL にアクセスできるようにします。一部のクライアントは、Internet Explorer を使用して、「このコンテンツはフレームに表示できません」というエラーを報告します。私は2つのことが必要です:

  1. 新しいタブで開くためのリンク (現在は同じウィンドウで開きます)
  2. このエラーを削除するには (以下の内容でもエラーが発生します)。

何か案は?前もって感謝します

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

1 に答える 1

1

アンカーを使用してこれを行うことは可能ですが、各行の各列に 1 つ必要であり、それには向いていないと思います!

発生しているエラーを再現できないようです。別のバージョンの IE を使用していると思います。

TR onclick イベントを使用するのが最も簡単な方法のようです。

リンクを新しいウィンドウまたはタブで開きたい場合 (クライアントのブラウザーの構成方法に依存するため、実際には制御できません)、現在のように window.location を変更する代わりに window.open() を使用できます。

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

これらの行に沿って何かをページの先頭に追加します。

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

そして、あなたはそれをそのように使うことができるでしょう。これがポップアップ ブロッカー タイプのものをトリガーするかどうかはわかりませんが、私のテストでは、新しいタブが開きました。

window.open 関数は、新しいタブやウィンドウなどを強制しようとするためにいくつかの追加の引数を取ることができますが、それが何のブラウザでどのように機能するかはわかりません。

于 2012-10-25T16:46:29.417 に答える