-1

重複の可能性:
JavaScript で複数行のコードにまたがる文字列を分割するにはどうすればよいですか?

未終了の文字列リテラル エラーが発生します。私のコードを見てください

<script type="text/javascript">
function embedVideo(url){
alert(video);
var video= '
<OBJECT ID="player" width="800" height="450" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject">
<PARAM NAME="FileName" VALUE="">
<PARAM name="autostart" VALUE="false">
<PARAM name="ShowControls" VALUE="true">
<param name="ShowStatusBar" value="true">
<PARAM name="ShowDisplay" VALUE="false">
<param name="uiMode" value="full" />
<PARAM NAME="SendPlayStateChangeEvents" VALUE="True" />
<EMBED TYPE="application/x-mplayer2" width="800" height="450" SRC="" NAME="MediaPlayer"
ShowControls="1" displaysize="4" ShowStatusBar="1" ShowDisplay="0" autostart="0"> </EMBED></OBJECT>
';
alert(video);
jQuery("#videoScreen").html(video);
return true;
}
</script>

助けてください...

4

3 に答える 3

12

Javascript は複数行の文字列をサポートしていません。次のいずれかを行う必要があります。

  • そのタグを 1 つの大きな行にする、または
  • 各行の末尾にバックスラッシュを使用して「継続」を示すか、または
  • 複数の文字列を結合して使用します。
于 2013-01-10T11:00:47.473 に答える
2

コードをコピーして自分のマシンに貼り付けました。そして、私はエラーを見つけました。

4 行目で、

var video= '
<OBJECT ID="player" width="800" height="450" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject">

これがエラーの原因です。等号の後の 4 行目に改行を入れました=。Javascript はすべての改行を新しいステートメントと見なします。不要な改行を削除してください。動作するはずです。

ありがとう。

于 2013-01-10T11:02:05.157 に答える
0

js では複数行の値を変数に割り当てることができないため、次のように記述する必要があります。

var video = '<OBJECT ...>';
video += '...';

しかし...object要素を作成する方法は正しくありません-document.createElementより明確なコードを使用することをお勧めします.

于 2013-01-10T11:01:04.270 に答える