javascript
  • if-statement
  • alert
  • bookmarklet
  • bookmarks
  • 2011-12-13 102 views 2 likes 
    2

    我正在嘗試編寫一個小書籤,用於檢測用戶是否在已解析頁面上,如果他不是值,則應將其傳遞給API。Javascript Bookmarklet If-Else

    if (window.location.indexOf("thequeue.org") >= 0) { 
        alert("Drag the Bookmarklet in your Brookmarks Bar!"); 
    } else { 
        location.href = 'http://thequeue.org/r?id=' + encodeURIComponent(location.href) + '&title=' + document.title; 
    } 
    

    上有一般小書籤幾個教程,但我發現這個轉換工具:http://jasonmillerdesign.com/Free_Stuff/Instant_Bookmarklet_Converter,這給了我這樣的:

    javascript:(function(){if(window.location.indexOf(%22queue.org%22)%20%3E%3D%200)%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20alert(%22your%20url%20contains%20the%20name%20franky%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0Alocation.href%3D'http%3A%2F%2Fthequeue.org%2Fr%3Fid%3D'%2BencodeURIComponent(location.href)%2B'%26title%3D'%2Bdocument.title%3B%0A%7D}()); 
    

    然而,書籤停止工作完全。我可以確認這是有效的:javascript:location.href='http://thequeue.org/r?id='+encodeURIComponent(location.href)+'&title='+document.title;

    我在做什麼錯?

    回答

    1

    這應該爲你工作:

    javascript:(function(){if(location.href.indexOf("thequeue.org/")>=0){alert("Drag the Bookmarklet in your Brookmarks Bar!");}else{location.href='http://thequeue.org/r?id='+encodeURIComponent(location.href)+'&title='+document.title;}})(); 
    

    注意,我改變了if語句稍微使其更加堅固。

    +0

    謝謝,工作很棒!我只需要將雙引號改爲單引號。 – mmackh 2011-12-13 18:08:52

    0

    您可能想先嚐試刪除所有空白。我不知道這是否是您的問題,但至少會讓您的書籤變得不那麼難看。

    相關問題