나는이 같은 하이퍼 링크에 포함 할 자바 스크립트를 app/assets. 현재 서버에있는 자산에 대한 URL의 지점을 생성하기 때문에 정적이어서는 안됩니다. 설치가 완료된 후 북마크릿이 다른 웹 호스트에서 실행될 수 있기 때문에 절대적이어야합니다.Rails에서 북마크릿을 생성하는 가장 좋은 방법은 무엇입니까? <pre><code><a href="javascript:function() {...}();"> </code></pre> <p></p> 내가 동적 자산을 가리 키도록 생성 된 링크를 포함하여, 자바 스크립트를 생성하는 부분이라고 _bookmarklet.html.erb을 만들어 :
내 템플릿은 다음과 같습니다
<a href="<%= render :partial => 'pages/bookmarklet' %>"
난 데 문제는 자바 스크립트에서 "(큰 따옴표")입니다. 따옴표를 이스케이프 처리하는 메커니즘이 있습니까? 어떻게 이것을 제대로 삽입 할 수 있습니까? Rails에서 북마크릿을 노출하는 올바른 방법은 무엇입니까?
아래 제안 된 옵션과 escape_javascript를 사용해 보았습니다. escape_javascript는 " 대신 \ "와 같은 따옴표를 이스케이프 처리합니다. 내가 정말로 필요로하는 것은 html 문자 (<, ", >)를 이스케이프 처리하는 방법입니다. –
h는 아무 것도하지 않습니다. 실제로는 HTML (태그가 없음) 도망 갈 수있는 것이 아무것도 없다. –
CGI.escape를 사용하여 URL로 자바 스크립트를 인코딩하는 도우미를 만들려고했지만 브라우저가 "javascript % 3A % 28function % 28 % 29 % 7Bfunction + src_script .... "자바 스크립트로. 단지" '를 "으로 대체하려고해도 파서 ("잘못된 토큰")가 표시됩니다. –