0

ページにフレームを設定していますが、子フレームのすべてのリンクを強制的に「自己」ではなく新しいウィンドウ (「空白」) で開く方法はありますか?

フレーム内にあるページにアクセスできません。リンクが新しいページを開くこともあれば、まったく新しいページに移動することもあります。すべてのリンクを新しいページで開くことで、ある程度の一貫性を保ちたいと考えています。

4

5 に答える 5

2

あなたはいくつかのjavascriptを使うことができます:

var links = document.getElementsByTagName('a');
for (var i = 0, l = links.length; i < l; ++i) {
    links[i].target = '_blank';
}

フレーム内のドキュメントへの参照を取得する必要があります(申し訳ありませんが、フレームを操作してから久しぶりです)。メモリからそれは次のような簡単なものですframe.document

外部ページのDOMを変更できるとは思いませんが、一見の価値があります。

于 2009-08-28T21:42:15.567 に答える
1
var links = document.getElementsByTagName('a');
for (var i = 0, l = links.length; i < l; ++i) {
    links[i].target = '_blank';
}

これは、Javascript によってロードされたフレームが新しいウィンドウで開くには機能しません :(

于 2013-06-27T04:29:45.620 に答える
0

フレームは使用しないでください。

または、HTTPオブジェクトを使用してそれらをロードし(多くのサーバー側言語にはたくさんあります)、正規表現を使用してリンクを変更し、代わりに「_blank」を指すようにしてから、ページに配置します。

または、DOMを使用できる場合があります。

nodeLink = document.getElementById("alink");
nodeLink.setAttribute("target", "_blank");
于 2009-08-28T21:39:56.290 に答える
0

次のように応答すると、何が欠けていますか?

フレーム内のページを変更できない場合は、その動作を変更することはありません。

于 2009-08-28T21:40:51.170 に答える
0

これを<head></head>タグの間に入れます。

<base target="_blank">

_blankページ上のすべてのリンクのベースにしたいターゲットに置き換えるだけです。

ソース: http://www.w3schools.com/tags/att_base_target.asp

于 2014-12-25T19:29:56.147 に答える