アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaScriptでiframeの内容を「空ページ」にする方法

動作環境はWinXP IE8です。
iframeでsrcに何も指定しないでhtmlを開くと、真っ白な状態で開きます。
プロパティを見ると「about:blank」となっています。

一旦他のページを開いたあとに、クリアボタン押下時に
この状態にしたいのですが、どうもうまくいきません。

とりあえず、普通にURLを指定するときと同じ感覚で
document.getElementById("…").src = "about:blank";
と書いてみたのですがうまくいきません。

document.getElementById("…").src = "";
でも同じです。

iframeの中身を空にする方法はないのでしょうか?
出来るのかできないのか、もしできるのならその方法を教えてください。
よろしくお願いします。

A 回答 (2件)

うーん。

再現できませんね、IE8で試してるんですけど
↓とどこが違います。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Test</title>
<script type="text/javascript">
<!--
function fuga(){
document.getElementById("hoge").src = "about:blank";
}
// -->
</script>
</head>
<body>
<div><button onclick="fuga();" type="button">clear</button></div>
<iframe src="http://oshiete.goo.ne.jp/qa/6283562.html" id="hoge"></iframe>
</body>
</html>
    • good
    • 0
この回答へのお礼

>うーん。再現できませんね、IE8で試してるんですけど
>↓とどこが違います。

ご提示いただいたコードで試してみました。実現できました。
私のと違うところは…function名が「huga」では無く
「clear」であること…。

どうやらそれが原因だったようです。「clear」が予約語であり、
メソッド名に使用できないみたいですね。

恥ずかしいです。

お手数をおかけしました。
サンプルコードを書いていただいたおかげで
間違いにすばやく気付くことが出来ました。
ありがとうございました。

お礼日時:2010/10/31 09:35

removeAttribute を使ってみてはどうでしょう?



document.getElementById('SampleFrame').removeAttribute('src');
    • good
    • 1
この回答へのお礼

原因はonclick時に呼び出す自分で作ったfunctionの
名前が無効なものだからでした。

ご提示いただいた方法でも実現できました。
ありがとうございました。

お礼日時:2010/10/31 09:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!