2012-10-13 2 views
0

그림과 같이 Google+ 배지가있는 작은 Google 애플리케이션 스크립트를 작성하려고했습니다. here. 이를 위해 나는 그 페이지에 보여지는 것처럼 HTML을 포함하고있는 평범한 HTML 파일을 가지고있다. HTML 페이지는 다음과 같습니다.Google App Scripts : HTML 파일의 자바 스크립트 코드가 작동하지 않습니다.

<html> 
<body> 
<div class="g-plus" data-href="{Page-Link}" data-rel="publisher"></div> 

<script type="text/javascript"> 
    (function() { 
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
    po.src = 'https://apis.google.com/js/plusone.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
    alert("Added Badge!"); 
    })(); 
</script> 

</body> 
</html> 

결과는 빈 페이지입니다. 페이지에 배지가 추가되지 않았습니다. 나는 자바 스크립트 함수가 실행되지 않기 때문에 (내가 경고를 추가하고 거기에 팝업이 없었 음)라고 가정합니다. 함수가 실행되지 않는 이유를 알 수 없습니다.

도움을 주시면 감사하겠습니다.

+0

'data-href' 속성은 Google 프로필 URL이어야합니다. – Jay

+0

Google 프로필에 대한 링크가 있습니다. 그러나 그것은 여전히 ​​배지를 보여주지 않습니다. – user1679030

+0

제공되는 html 소스를 살펴보면 plusone.gs 라이브러리가 caja 컴파일러에서 살아남지 못하는 것으로 보입니다. – Mogsdad

답변

0

불행히도 나는 여기에서 짐작하고있는 Javascript에 너무 익숙하지 않다. 나는 이전에 coffeescript에서 프로그래밍 했었고 컴파일러는 생성 된 코드를 코드 에서처럼 외딴 함수에서 자동으로 래핑합니다. 이 함수는 다음과 같이 호출됩니다.

(function() {//...}).call(this); 

아마도이 기능을 사용할 수 있습니다.

또는 경고 테스트를 배지 생성 위로 옮길 수도 있습니다. 자바 스크립트가 전혀 실행되지 않으면 표시됩니다. 어쩌면 배지 생성 코드에 오류가있을 수 있습니다.

내 마지막 아이디어는 함수의 이름을 body.onload의 콜백으로 등록하는 것입니다.

관련 문제