2フレームのフレームセットがあるとします。1つのフレームは小さな水平ヘッダーのようなもので、2つ目はサードパーティのhtmlページを内部に持つ一種の「コンテンツ」フレームです。ユーザーが「content」フレーム内のリンクをクリックすると、ページ全体(フレームセット)がこのリンクで再ロードされます。「content」フレームに「target=_top」属性がある場合と同じ動作です。JSを使用してこれを行う方法は?
ここでの主な問題は、「コンテンツ」ページのhtmlを編集できないことです。
2フレームのフレームセットがあるとします。1つのフレームは小さな水平ヘッダーのようなもので、2つ目はサードパーティのhtmlページを内部に持つ一種の「コンテンツ」フレームです。ユーザーが「content」フレーム内のリンクをクリックすると、ページ全体(フレームセット)がこのリンクで再ロードされます。「content」フレームに「target=_top」属性がある場合と同じ動作です。JSを使用してこれを行う方法は?
ここでの主な問題は、「コンテンツ」ページのhtmlを編集できないことです。
window.location
対象のURLに設定してみてください。
これが私の簡単な解決策です:
<html>
<head>
<script type="text/javascript">
function load(){
// set target="_top" to reload whole frame
var links = this.content.document.getElementsByTagName("a");
for(var i = 0; i < links.length; i++){
var link = links[i];
link.target="_top";
}
}
</script>
</head>
<frameset rows="50,*" frameborder="0" onload="load()">
<frame src="/header.html" scrolling="no">
<frame src="/content.html" name="content">
</frameset>
</html>