2

Tinkerbin や JSfiddle に似たものを構築しようとしています。個人的なプロジェクト用です。

これが私が今得たものです:

http://mediodesign.ca/cms-test/

JAVASCRIPTタブを除いて、すべてが機能しています。Nettuts の「カスタム HTML と CSS を iframe に挿入する方法」チュートリアルに従いました (http://net.tutsplus.com/tutorials/html-css-techniques/how-to-inject-custom-html-and-css -into-iframe/)。

ここに私の変更されたJavaScriptコードがあります:

(function() {
$('.grid').height( $(window).height() );    

var contents = $('iframe').contents(),
    body = contents.find('body'),
    styleTag = $('<style></style>').appendTo(contents.find('head')),
    jsTag = $('<script><\/script>').appendTo(contents.find('head'));

$('textarea').keyup(function() {
    var $this = $(this);
    if ( $this.attr('id') === 'html') 
    {
    body.html( $this.val() );
    } 
    else
    {
    styleTag.text( $this.val() ), 
    jsTag.text( $this.val() );
    }

});  })  ();

jsTag = $('<script><\/script>').appendTo(contents.find('head'));行とを追加しましたjsTag.text( $this.val() );

その部分に何らかの関係があることは間違いありませんjsTag = $('<script><\/script>')。なぜ<style></style>機能しているのに機能していないの<script></script>ですか?

これを修正するのを手伝ってください。私は過去 2 時間この問題に取り組んできました!

再度、感謝します

4

2 に答える 2

0

私はjQueryの神ではないので、純粋なJavascriptを使用してこのソリューションを作成しました(後でjQueryで試してみます)。

var contents = $('iframe').contents(),
    body = contents.find('body'),
    styleTag = $('<style></style>').appendTo(contents.find('head')),
    jsTag = document.createElement('script');
contents.find('head')[0].appendChild(jsTag);
于 2012-05-07T02:02:09.987 に答える
0

スクリプトは、コードに追加するまで評価されません。その後、jQuery はスクリプトを取得して解析します。jQueryは実際にはDOMに配置せず、実行時にのみ解析するため、空のスクリプトタグを挿入しただけでは何の効果もありません。

于 2012-05-07T02:21:30.730 に答える