: (죄송합니다, 자바 스크립트가 HTML과 같은 파일에없는 있다는 사실 놓친
$(document).ready(function(){ $('#player').youTubeEmbed("<%=escape_javascript(@clip)%>"); });
-뿐만 아니라이 shouldn을 ' 그렇다면!)
변수에 URL이 포함되어 있다고 가정하고 URL을 표시하지 않으려면 페이지 변수에 다음과 같이 포함 시키십시오 (show.html.erb의 div
코드를 다음으로 대체하십시오).) :
(매우 거의 같은 일 또는
<script type='text/javascript'>
var myStuff = {
clipUrl: "<%=escape_javascript(@clip)%>"
};
</script>
...)
<script type='text/javascript'>
window.myStuff = {
clipUrl: "<%=escape_javascript(@clip)%>"
};
</script>
....
... 그리고 다음과 같이 사용할 수는 :
$(document).ready(function(){
$('#player').youTubeEmbed(window.myStuff.clipUrl);
});
이런 식으로 변수의 값을 출력, 당신은 무엇을하는 것은 기입 유효한 자바 스크립트를 될 수있을 테니까요됩니다 확인해야합니다. 예를 들어 @clip
변수에 "
또는 \
이 포함되어있는 경우 을 \"
으로 설정하고 외딴 백 슬래시를 \\
으로 설정해야합니다. Jakub Hampl은 이에 대한 escape_javascript
함수를 유용하게 지적했으며,이 코드 예제를 편집했습니다.
이렇게하면 window
에 새 기호가 추가됩니다. 나는 우리의 새로운 심볼을 오브제로 만들었습니다. 그래서 다른 것들과 함께해야한다면, 같은 오브제에 그들을 포함시킬 수 있습니다. 그래서 많은 심볼을 생성하지 않게됩니다. (글로벌 심볼을 많이 만듭니다. —입니다. 따라서 window
속성 —은 유지 관리 문제가되는 경향이 있습니다.그래서 예를 들어, 당신이 이 클립이 있다면 : 오프 주제
<script type='text/javascript'>
window.myStuff = {
someNiftyClip: "<%=escape_javascript(@clip)%>",
someOtherNiftyClip: "<%=escape_javascript(@anotherClip)%>"
};
</script>
: youTubeEmbed
를 호출 라인에서을, 내가 마지막에 세미콜론을 추가 있습니다. JavaScript의 semicolon insertion에 의존하지 않는 것이 가장 좋습니다.
렌더링 된 출력은 어떻게 생깁니 까? –