-2

私はこれが簡単なことだと知っていますが、私はそれを見ることができません。missing } after property list次のコードでエラー " " が発生する理由を教えてください。

<script type="text/javascript">

$(".single_image").live("click", function() {
    jwplayer().load({
        file: 'utubeurl'
    });
});​

</script>

コード全体を以下に示します。

            $(xml).find('item').each(function(i){
                var current=$(this);
                var ttl=current.find('title:first').text();
                var thum=current.find('thumbnail:first').text();
                var cat=current.find('category:first').text().split(',');
                var desc = current.find('description:first').text();
                var utubeurl = current.find('youtubeurl:first').text();
                var fbshareurl = current.find('facebookshareurl:first').text();
                var twturl = current.find('twitterurl:first').text();
                var nbcurl = current.find('nbcsiteurl:first').text();

                var item = {
                    title:ttl,
                    thumbnail:thum,
                    category:cat,
                    description:desc,
                    youtubeurl:utubeurl,
                    facebookshareurl:fbshareurl,
                    twitterurl:twturl,
                    nbcsiteurl:nbcurl,
                    obj:$('<div class="'+options.itemClass+'"><a id="'+parentId+'" class="single_image" title="'+desc+'"><script type="text/javascript"> $(".single_image").live("click",function(){ jwplayer().load({file:'+utubeurl+'}); }); </script><img src="'+thum+'" /></a><div class="show_lightbox_title"><strong>'+ttl+'</strong></div><ul id="social"><li><iframe src="'+fbshareurl+'" class="iframe_style" scrolling="no" frameborder="0" allowtransparency="true"/></li><li><a class="twtbtn" href="'+twturl+'" target="_blank"><img src="images/twitter_btn.gif"></a></li><a class="nbcbtn" href="'+nbcurl+'" target="_blank"><img src="images/showPages_btn.gif"></a></div>')
                };
                shows.push(item);
            });
4

4 に答える 4

2

ここで、プロパティ値を引用する必要があります。

obj:$('<div class="'+options.itemClass+'"><a id="'+parentId+'" class="single_image" title="'+desc+'"><script type="text/javascript"> $(".single_image").live("click",function(){ jwplayer().load({file:'+utubeurl+'}); }); </script><img src="'+thum+'" /></a><div class="show_lightbox_title"><strong>'+ttl+'</strong></div><ul id="social"><li><iframe src="'+fbshareurl+'" class="iframe_style" scrolling="no" frameborder="0" allowtransparency="true"/></li><li><a class="twtbtn" href="'+twturl+'" target="_blank"><img src="images/twitter_btn.gif"></a></li><a class="nbcbtn" href="'+nbcurl+'" target="_blank"><img src="images/showPages_btn.gif"></a></div>')

...これ:

'... jwplayer().load({file:'+utubeurl+'}); ...'

...である必要があります:

'... jwplayer().load({file:"'+utubeurl+'"}); ...'

...余分な引用符に注意してください。これらの引用符を追加すると、looooooooong (読みにくい/サポートしにくい) 文字列が壊れるかどうかわからない場合は、それらをエスケープする必要があるかもしれません。しかし、あなたはその考えを理解していますか?

乾杯

于 2012-05-10T19:07:49.087 に答える
2

次のように、ファイル プロパティを引用符で囲んでみてください。

function () {

'file' : 'utubeurl'

}

- 編集:

私の悪い、忘れてください、私はjson、jquery、そしておそらく他のjと混同していました。あなたはプロパティを定義しています。メモリスロットの名前を文字列にする必要はありません。

于 2012-05-10T01:50:54.883 に答える
1

変数をhrefに渡し、それをコマンドに渡してURLを再生することで問題を解決しました。

var item = {
                    title:ttl,
                    thumbnail:thum,
                    category:cat,
                    description:desc,
                    youtubeurl:utubeurl,
                    facebookshareurl:fbshareurl,
                    twitterurl:twturl,
                    nbcsiteurl:nbcurl,
                    obj:$('<div class="'+options.itemClass+'"><a href="javascript:utubeurlParser(\''+utubeurl+'\')" id="'+parentId+'" class="single_image" title="'+desc+'"><img src="'+thum+'" /></a><div class="show_lightbox_title"><strong>'+ttl+'</strong></div><ul id="social"><li><iframe src="'+fbshareurl+'" class="iframe_style" scrolling="no" frameborder="0" allowtransparency="true"/></li><li><a class="twtbtn" href="'+twturl+'" target="_blank"><img src="images/twitter_btn.gif"></a></li><a class="nbcbtn" href="'+nbcurl+'" target="_blank"><img src="images/showPages_btn.gif"></a></div>')
                };
                shows.push(item);
            });

            setSetter();
        }
    });
}
utubeurlParser = function(url){
              jwplayer().load({file: [url]});}
于 2012-05-10T18:47:00.730 に答える
1

そのコード ブロックをコピーして貼り付けると、2 番目の終了の後に余分な文字が表示されます });

それを削除すると、コンソールで問題なく実行されるため、それがエラーの原因でない場合は、ページの他の場所を調べます。

ページは公開されていますか?

于 2012-05-10T01:39:01.337 に答える