javascript
  • xhtml-1.0-strict
  • 2011-06-01 53 views 1 likes 
    1

    我需要在javascript中編寫url,但不知道是否應該爲&符號寫&。Xhtml寫URL,哪一個是正確的?

    <script type="text/javascript"> 
    <![CDATA[ 
    var link = 'http://example.com/query?id=1' . '&ref=' . document.referrer; 
    ]]></script> 
    

    或者

    <script type="text/javascript"> 
    <![CDATA[ 
    var link = 'http://example.com/query?id=1' . '&amp;ref=' . document.referrer; 
    ]]></script> 
    

    回答

    4

    CDATA,就沒有必要逃避&,它不應該在產生的URL進行轉義,所以第一個是正確的。

    +2

    差不多。你仍然需要[編碼](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent)'document.referrer'。 – Quentin 2011-06-01 12:34:03

    +0

    如果您拿走了CDATA標記,那麼第二個示例將是正確的(除了再次編碼),但不兼容HTML。 – Quentin 2011-06-01 12:34:43

    +0

    @昆汀丁:的確如此。我專注於兩個代碼段之間的區別。 – 2011-06-01 12:34:47

    2

    正確會

    <script type="text/javascript"> 
    <![CDATA[ 
    var link = 'http://example.com/query?id=1' + '&ref=' + encodeURIComponent(document.referrer); 
    ]]></script> 
    

    你絕不能在CDATA節XML-轉義字符。首先使用它們的整個

    但請注意您忘記的URL編碼。並且JavaScript字符串連接與+一起使用,而不是.

    相關問題