textarea内の<script>~を出力したい

このQ&Aのポイント
  • java scriptを使ったブログを作成しているホームページ制作初心者です。textareaに入力した文字列を指定の<div id='~'></div>に出力する方法について質問です。
  • 通常の文字列やHTML言語であれば出力に成功していますが、<scritpt scr=' ... '>~</script>とした場合には外部ファイルのスクリプトを起動できない状況です。
  • 質問は、リロードが完全に終わった後でも指定のjava scriptを呼び出すことができるかどうかです。また、ツイッターの公式ウィジェットを使用する場合でも同様です。
回答を見る
  • ベストアンサー

textarea内の<script>~を出力したい

現在、java scriptを使ったブログを作成しているホームページ制作初心者です。 textareaに入力した文字列を指定の<div id="~"></div>に出力するといった事を試しており、textarea内が一般的な文字列であったり、html言語であれば、出力に成功することができました。 ただ、そのtextarea内の文字列を<scritpt scr=" ... ">~</script>とした場合、外部ファイルに記載されているスクリプトを起動する事ができません。ソースを確認すると、その場所にjava scriptがちゃんと入っているのですが、全く動かないという状況です。 そこで質問なのですが、指定のjava scriptを、リロードが完全に終わった後でも、呼び出しを行うということはできるのでしょうか? 具体的には、ツイッターの公式ウィジェットを使った場合であれば、 <textarea style="display:none;" name="~" rows="7" cols="65"> <script src="http://widgets.twimg.com/j/2/widget.js"></script><script>new TWTR.Widget({version: 2,type: 'search',search: '文字列',interval: 5000,title: 'タイトル文字列'',subject: '',width: 500,height:350,theme:{shell:{background: '#333333',color: '#ffffff'},tweets: {background: '#ffffff',color: '#444444',links: '#1985b5'}},features: {scrollbar: false,loop: true,live: true,hashtags: true,timestamp: true,avatars: true,toptweets: true,behavior: 'default'}}).render().start();</script> </textarea> とした上で、このtextarea内の文字列を他のdivの中に書き込みを行う、というところまでは成功したのですが、このjava script本体が起動せず、その部分が空白として表示されてしまうといった次第です。 もし何か解決策があれば、ご教授頂ければと思い質問しました。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

かなり、難しそうですね! やるとするなら、外部のJSのソース内容をAJAX(XMLHttpRequest)でresponseText として取得して、evalでしょうかね、でもツイッターみたいに他ドメインのサイト だと取得できないんで、もう一工夫も二工夫も必要そうだし...  そもそも、<textarea>に他人が書いたjavascriptを、そのまんま無条件に evalで実行しちゃうのは、とっても恐いような気がします。

naspel158
質問者

お礼

お返事ありがとうございます。やはり、こういった事は java scriptだけでは難しいみたいですね。 他のプログラミング言語の勉強も含めて、再度挑戦してみます。 回答ありがとうございました!

関連するQ&A

  • twitterのプロフィールウィジェットの表示

    半月前からでしょうか、ツイッターのプロフィールウィジェットが表示されません。 私自身は、何も変えていないです。 どうしたら表示されるでしょうか。 ---以下、ツイッター上で表示されるコード--- <script src="http://widgets.twimg.com/j/2/widget.js"></script> <script> new TWTR.Widget({ version: 2, type: 'profile', rpp: 5, interval: 5000, width: 250, height: 300, theme: { shell: { background: '#555555', color: '#ffffff' }, tweets: { background: '#000000', color: '#ffffff', links: '#4aed05' } }, features: { scrollbar: false, loop: false, live: true, hashtags: true, timestamp: true, avatars: false, behavior: 'all' } }).render().setUser('自分のID').start(); </script> ---終了---

  • twitterのプロフィールウィジェットをホーム・

    twitterのプロフィールウィジェットをホームページで表示させたいのですが表示されるかどうか試しに以下のようにやってみましたが空白のページしか表示されません。なぜでしょうか? htmlのコードはhttp://twitter.com/about/resources/widgets/widget_profileにて取得しました。 プレビューも確認しました。宜しくお願いします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> </head> <body> <div > <script src="http://widgets.twimg.com/j/2/widget.js"></script> <script> new TWTR.Widget({ version: 2, type: 'profile', rpp: 4, interval: 6000, width: 250, height: 300, theme: { shell: { background: '#333333', color: '#ffffff' }, tweets: { background: '#000000', color: '#ffffff', links: '#4aed05' } }, features: { scrollbar: false, loop: false, live: false, hashtags: true, timestamp: true, avatars: false, & nbsp; behavior: 'all' } }).render().setUser('自分のID').start(); </script> </div> </body> </html>

    • ベストアンサー
    • HTML
  • ツィッターをWEB上でみせたいのですが以下のコード入れるとサクラサーバ

    ツィッターをWEB上でみせたいのですが以下のコード入れるとサクラサーバーでは、見れないのですが、なぜですか?わかる方いたら教えてください。 <script src="http://widgets.twimg.com/×××/×××/×××××××.js"></script> <script> new TWTR.Widget({ version: 2, type: 'profile', rpp: 4, interval: 6000, width: 190, height: 200, theme: { shell: { background: '#ADADA', color: '#4B4841' }, tweets: { background: '#F3F3F3', color: '#57524A', links: '#A29D97' } }, features: { scrollbar: false, loop: false, live: false, hashtags: true, timestamp: true, avatars: false, behavior: 'all' } }).render().setUser('×××××××').start(); </script> </div>

  • コマンドプロンプトのような画面を作る(Java:TextArea)

    Java初心者です。 Javaでコマンドプロンプトのようなものを作っています。 文字を入力でき、Enterを押すと、処理をするものです。 TextAreaを使えばできると思ったのですが、 手持ちの本に、TextAreaはリターンキーを押してもActionEventが発生しないと書いてあり、できそうにありません。 どのような方法があるのでしょうか?

    • ベストアンサー
    • Java
  • JavaとJavaスクリプトの違い

    JAVAの通信教育を受けるのですが、 JAVAとJAVAスクリプトは同じものだと思ってました。 画像や文字をスクロールさせたりするソースが、 JAVAだと思ってました。 JAVAとJAVAスクリプトの違い、JAVAとは何か分かり易く教えてください。

    • ベストアンサー
    • Java
  • formのtextareaについて

    いつもお世話になってます。 formでテキストエリアを作成しました。 テキストエリアに入力された文字列を、submitを押すことによって、同ページに反映させたいのですがどのようにしたらいいのでしょうか? 当方、プログラミング初心者のため、できるだけわかりやすく教えて頂けると助かります。 以下、現在書いたテキストエリアです。 <form method="POST" action="sousinsaki.html"> <div> <textarea name="MSG" cols=40 rows=4> </textarea> </div> <input type=submit value="送信"> </form>

  • HP作成。スタイルの付け方を教えてください。

    超初心者です。 cssのコツが理解できずに困っています。 HPの幅800pxで作っています。  <p style="background-color:#1976D2; color: ffffff;">××××</p></div> この文字列の:#1976D2の色のついた背景だけフルサイズで、文字は800pxにしたいのですが、クラス指定がよくわかりません。 どうぞよろしくお願いいたします。

  • javascriptでtextareaに文字列を追加したい

    textareaの最後尾に文字列を追加したいです。 いろいろサイトを検索してみたのですが、解決できず困っています。  <form>中に<textarea>とボタンを設定しておきボタンを押すと  文字列を最後尾に追加する。 というのはありました。 私は、ボタンは無しで、画面を読み終わったタイミングで、textareaの最後尾に文字列を追加したいのです。 (仕様で、bodyタグにonloadを記述することは出来ません。) (またcgiでHTML記述を生成しています。) が、どこかのサイトにあった例を見ても、どのように自分のソースに 反映したらよいのか分からず・・・。 サイトにあった例を参考に、下記のように記述してみましたが駄目でした。 <textarea name="textArea_A"></textarea> <SCRIPT LANGUAGE="JavaScript"> <!-- var objTextarea = document.getElementsByName('textArea_A')[0]; objTextarea.value += "AAA"; //--> </SCRIPT> (これで、<textarea name="textArea_A">AAA</textarea> となってくれると良いのですが・・・。) トンチンカンな意味不明な点があるかも知れませんが、 どうか宜しくお願いいたします。

  • タグ実験で

    下記のようなタグ実験のスクリプトで、 OKボタンを押したときに、その結果が 別ウインドウで開かれるようにしたいのですが、 どこにどのようなタグを埋め込めばいいのでしょうか? わかる方はぜひ教えて下さい。 お願いします。 ~~~~ここから~~~~~ <META http-equiv="content-type" content="text/html; charset=Shift_JIS"> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <DIV align="CENTER"></DIV><CENTER> <DIV align="CENTER"><!--#geoguide--></DIV> <CENTER> <SCRIPT language="JavaScript"><!-- function tagu(){ document.write(document.F1.T1.value); } function Make(){ M='<html>\n<head>\n\n'; M+='</head>\n<body>\n\n\n\n\n'; M+='</body>\n</html>'; document.F1.T1.value=M; } window.onload=Make; // --></SCRIPT> <TABLE> <TBODY> <TR> <TD bgcolor="#ffffff"> <CENTER><B>----<FONT size="-1" color="#660000"> </FONT><FONT size="-1" color="#330000">タグ試験場入力フォーム</FONT> ----</B></CENTER> </TD> </TR> <TR> <TD> <FORM name="F1"><TEXTAREA name="T1" cols="70" rows="15" style="background-color:#ffffff;color:#000000"></TEXTAREA> <BR> <INPUT type="button" style="background-color:#ffffff;color:#000000" value=" OK " onclick="tagu()"> <INPUT type="reset" style="background-color:#ffffff;color:#000000" value="Reset"> </FORM> </TD> </TR> </TBODY> </TABLE> <BR> </BODY> </HTML> ~~~ここまで~~~~

  • TEXTAREA内の文字のフォントとサイズの変更をするには?

    ホームページビルダー8を使って作成しています。 更新履歴用のテンプレートをダウンロードして貼り付けて使っているのですが、タグのTEXTAREA内に表示する文字を書き込むようになっていました。 それだとMSゴシックで表示されるのですが、MS UI Gothicに変更したいのです。あと文字の大きさが大きいのでもう少し小さめにしたいのです。 TEXTAREA内や直近にFONTタグを入れてみたのですがダメでした。 どのようにすればよいでしょうか? 以下の“更新履歴”と“ここに文字”のフォント・サイズを変えたいのです。 <TEXTAREA rows="5" cols="35" style="border:none;background:#efebce scrollbar-arrow-color:#7b5121; scrollbar-3dlight-color:#7b5121; scrollbar-highlight-color:#efebce; scrollbar-shadow-color:#7b5121; scrollbar-face-color:#efebce; scrollbar-darkshadow-color:#efebce;">&lt;更新履歴&gt; ここに文字 ここに文字 ここに文字</TEXTAREA> よろしくお願いします。

専門家に質問してみよう