我有希望在這樣的超鏈接中嵌入一個Javascript:在Rails中生成小書籤的最佳方式是什麼?
<a href="javascript:function() {...}();">
我創建部分稱爲_bookmarklet.html.erb產生的JavaScript,包括動態生成的指向資產鏈接應用程序/資產。它不能是靜態的,因爲它創建的URL指向當前服務器上的資源,它必須是絕對的,因爲安裝後,可以在不同的Web主機上執行書籤。
我的模板看起來是這樣的:
<a href="<%= render :partial => 'pages/bookmarklet' %>"
我遇到的問題是在JavaScript中的「(雙引號」)。有逃避報價的機制嗎?我如何正確嵌入它?在Rails中公開小書籤的正確方法是什麼?
我已經嘗試了以下建議的選項以及escape_javascript。 escape_javascript轉義像\「,而不是"。我想我真正需要的是某種方式轉義html字符(<, ", >)。肯定有一個Rails幫手嗎? –
h不會做任何事情。因爲我的javascript不是實際上HTML(沒有標籤)沒有任何東西可以逃脫 –
我試圖創建一個幫助器,它使用CGI.escape將javascript編碼爲url,但瀏覽器無法識別「javascript%3A%28function%28% 29%7Bfunction + src_script ....「,即使我試圖用"代替」',也會拋出解析器(「非法令牌」)。 –