テキストボックス内に入力されたJavascriptのコードを取得して表示したいと思います。


<script type="text/javascript">
function getCode(){
var code = document.getElementById('body').value;
document.getElementById('preview').innerHTML = code;
}
</script>
<textarea id="body"><script type="text/javascript" src="http://localhost/test.js" charset="UTF-8"></script></textarea>
<div id="preview"></div>
<input type="button" value="コード取得" onclick="getCode();">

JavascriptのコードでJavascriptを読み込んでいる?ような感じなので表示されないかも知れません。
何か良い方法があればアドバイスいただければと思います。

回答の条件
  • 1人2回まで
  • 登録:2010/01/24 13:17:48
  • 終了:2010/01/30 19:18:43

回答(1件)

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922010/01/29 05:33:20

ポイント60pt

こういうのじゃダメですか?

Firefoxでしか動かなくて恐縮ですが。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function getCode() {
  document.getElementById("source").src = "view-source:" + document.getElementById("src_url").value;
}
</script>
</head>
<body>
<input id="src_url" type="text" size="100" value="http://www.hatena.ne.jp/js/Ten/Ten.js">
<input type="button" value="コード取得" onclick="getCode()">
<br>
<iframe id="source" width="500px" height="400px"></iframe>
</body>
</html>
id:kt26

Javascriptのコードを直接出力するのではなく、iframe(別ページ)にして表示という意味はわかりますし、私自身もその方法しかコードプレビューは出来ません。


「なぜ出来ないのか」と言う事に対して明確なソースや説明ページを探せなかったので質問した次第ですが、無理なものは無理だと理解したいと思います。


回答ありがとうございました。

2010/01/30 19:14:59
  • id:km1967
    まずはお願いなのですが、
    そのようなコードを書くことはクロスサイトスクリプティングを誘発しますが、
    それは問題なのかどうか教えて下さい。


    つぎに、ご質問のようなロジックでは、
    <input type="button" value="コード取得" onclick="getCode();">
    を押下した時点ではid=previewからJavaScriptを取り込んでいません。
    JavaScriptを取り込み、続いてボタンを押す2段階の動作が必要です。
    どのように割り当てればよいですか?
  • id:kt26
    質問の事が出来るか否か、出来ない場合はどうすればいいかが求める回答ですので、クロスサイトスクリプティングに関しては気にしないで下さい。

    また、<textarea></textarea>内を単なる文字列にした場合、普通にボタンを押して<divid="preview"></div>に反映されます。2段階の動作が必要になっていません。
  • id:motokun44
    > また、<textarea></textarea>内を単なる文字列にした場合、普通にボタンを押して<divid="preview"></div>に反映されます。

    <div id="preview"> に
    <script type="text/javascript" src="
    http://localhost/test.js" charset="UTF-8"></script> タグを表示させたいのですか?、それとも、
    test.js ファイルの中身を表示させたいのですか。
  • id:kt26
    test.jsの中身がdocument.write('<img src="test.jpg">');
    だとすると、画像が表示されて欲しいのです。ブログパーツが表示するように。
    ですが、インラインフレームを使うしか無理だと思いますので、諦めます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません