簡體   English   中英

var中的Javascript代碼

[英]Javascript code inside var

我需要在javascript變量中添加一些HTML和Javascript代碼,以便稍后在.html頁面中將它們編寫

我試圖在Javascript頁面中寫的示例

var footer = "<footer><script>
if(isMobile.any()){
document.write('<a href="twitter:///user?screen_name=twitter">');
} else {
    document.write('<a href="https://twitter.com/twitter">');
}</script></footer>";

以及將其寫入我的HTML文檔的方式

<script>document.write(footer);</script>

但由於變量內的javascript代碼導致我的javascript頁面出現錯誤

抱歉,我是javascript新手,在此先感謝

沒有適當的處理,字符串就不能跨越多行。 嵌入式引號也需要轉義; 這絕不是最干凈的方法,但是一個建議可能是:

var footer = 
  "<footer><script>" +
    "if(isMobile.any()) {" +
      "document.write('<a href=\"twitter:///user?screen_name=twitter\">');" +
    "} else {" +
      "document.write('<a href=\"https://twitter.com/twitter\">');" +
  "}" +
  "</script></footer>";

還要注意,當文字腳本字符串具有該標記時,請腳本標記使用document.write 您需要用於腳本片段,但您可以考慮整體輸出。

您需要在\\"類的字符串中轉義引號( " ):

var footer = "<footer><script>
if(isMobile.any()){
document.write('<a href=\"twitter:///user?screen_name=twitter\">');
} else {
    document.write('<a href=\"https://twitter.com/twitter\">');
}</script></footer>";
var footer = "<footer><script>
if(isMobile.any()){
document.write('<a href='twitter:///user?screen_name=twitter'>');
} else {
document.write('<a href='https://twitter.com/twitter'>');
}</script></footer>";

正如另一個答案已經指出的那樣,當遇到第二個雙qute時,如果該字符串被認為是結尾,則必須轉義它,或者如上所述在整個字符串中使用單引號。

這是對@Grant Thomas答案的略微修改

var footer = "<footer>\x3Cscript>\
   if(isMobile.any()){\
     document.write('<a href=\"twitter:///user?screen_name=twitter\">');\
   } else {\
    document.write('<a href=\"https://twitter.com/twitter\">');\
   }\x3C/script></footer>";

您可以在此處閱讀有關為什么需要使用\\ x3c的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM