DIV 内に innerHTML でプレビューする場合は、インラインで複雑な JavaScript が書かれているとエラーになる場合があります。ですから、そういう場合も対処したい場合は、IFRAME に対して document.write すると回避されます。 しかし、document.write でも、部分的なスクリプト記述であると、当然エラーになってしまいますので、全体のエラーを以下のようにして抑制します。
<script type="text/javascript"> window.onerror = function (e, url, line) { console.log(e+" / "+line+" / "+url); return true; } // 関数未定義 test(); </script>
この記述を document.write で IFRAME に書き込む為に、全体を文字列化する必要がありますので、こちらで JavaScript ボタンをクリックして変換して下さい
str=""; str+="<"+"script type='text/javascript'> \n"; str+="onerror = function() { \n"; str+=" return true; \n"; str+="} \n"; str+="</"+"script> \n"; str+=" ";
IFRAME に対する document.write は、IFRAME の id を preview とすると以下のようになります
// // var target = document.getElementById("preview").contentWindow.document; target.open; var str=""; str+="<style type=\"text/css\"> \n"; str+="* { \n"; str+=" font-size:12px; \n"; str+="} \n"; str+="</style> "; target.write(str); str=""; str+="<"+"script type=\"text/javascript\"> \n"; str+="window.onerror = function() { \n"; str+=" return true; \n"; str+="} \n"; str+="</"+"script> "; target.write(str); target.write(document.getElementById("text").value); target.close();
タグ:javascript
|
【JavaScriptの最新記事】
- Replit : js-web-speech
- JavaScript の論理和(||) による『無かった場合の値の代入』/ expr1 || expr2 は expr1 を false と見ることができる場合は expr2 を返します
- Seesaa の記事に下の『最新の同カテゴリのリスト』のリンクの最後に付く ?seesaa_related=category を削除する方法
- JavaScript : ブラウザ判定( IE11 対応 ) / edge を追加
- JavaScript : 入力文字列を 変数用16進数表現 に変換する
- JavaScript : 入力文字列を htmlentity に変換する
- HTML5 で行われる入力チェックを :invalid :valid 疑似クラスと JavaScript を使用してリアルタイムにエラーを視認させる
- HTML5 で行われる入力チェックのエラーメッセージをカスタマイズする JavaScript の記述( この手のコントロールはとてもデリケートです。いろいろなパターン検証が必要です )
- テーブルのセルをクリックして背景色を rgb(0,0,0) から #000000 の変換で、eval を使う事の考察
- JavaScript & VBScript : ブラウザから Windows の OS のバージョンを判定
- Firefox、IE11 の canvas で動作する楕円( ellipse )関数
- 文字列を UTF-8(2バイト以上) で表現した時の 16進数表現の文字列を取得する
- ブログで jQuery を使用するのに、全ての記事で使うわけでは無いので、記事毎でロードする
- JavaScript による2会話アプリケーションのコントロール(2)
- JavaScript による2会話アプリケーションのコントロール(1)
- JavaScript : Global な undefined 変数に絡むいろいろ
- 簡易縦書き変換
- ブラウザの WebGL チェック : jQuery 名前空間へ変数($.is_webgl)追加
- JSONP の原理と、簡単な利用方法の実際のコード( 実装は jQuery が良いですが、Access-Control-Allow-Origin: * のほうが楽だし読込み先を制限できます )
- document.createElement("a") で新しいウインドウ(タブ)を開く