javascript
  • jquery
  • 2013-01-10 32 views -1 likes 
    -1

    可能重复:
    How do I break a string across more than one line of code in JavaScript?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> 
    

    请帮助...

    回答

    12

    JavaScript不支持多行字符串,你将需要:

    • 做出标记一个大线,或
    • 使用每行上的尾部反斜杠来指示“连续”,或者使用连接在一起的多个字符串。
    0

    您不能分配多值到JS的变量,所以你必须把它这样写:

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

    但是......你创建object元素的方法是不正确 - 你最好使用document.createElement来获得更清晰的代码。

    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认为每一行都是新语句。 请删除不必要的换行符,它应该工作。

    谢谢。

    相关问题