2013-01-21 2 views
1

아이디어 : 동적 콘텐츠가로드 된 후 mouseover에서 공식 Google 개발자 사이트에 표시된 것처럼 Google 공유 버튼을 렌더링하려고합니다. 내가 플러스 원에 플러스 변경하는 경우,Google 공유 명시 적로드

  • 대신 공유 구글 플러스 버튼을 렌더링 :

    gapi.plus.render(div); 
    

    현황 : 내가 사용

    코드입니다. 공유 버튼은 '아무튼 :

이 문제, 버튼로드 (그러나 호버에로드되지 않습니다) : 나는 { "명시 적" "parsetags을"} 제거하면

  • 을 (수단 스크립트로드) 로드 업. plus.render 및 plusone.render와의 연계 Debuging

    :

    1. http://romanlosev.igloro.info/googleshare.php?load=plusone (플러스 원 - 작품,하지만 플러스 + 버튼로드)
    2. http://romanlosev.igloro.info/googleshare.php?load=plus이 (플러스 -하지 작업을한다)
  • 답변

    7

    비슷한 질문이 on StackOverflow here입니다.

    당신이해야 할 일은 공유 버튼에 대한 명시적인 렌더링 방법을 호출하는 것입니다. div를 선택하는 함수를 다음 코드로 바꾸면 화면상의 공유 객체에 대한 렌더링이 지연됩니다. 각각의 버튼을 렌더링하기 위해

    $("#clickme").click(function() 
    { 
        gapi.plus.go(); 
    }); 
    

    , 당신은 예를 들어, 공유하도록 설정 작업 매개 변수를 사용하여 객체를 통과해야합니다 :

    gapi.plus.render("plusOne", {action: "share"}); 
    

    다음은 비동기 스크립트 로딩을 수행하고 렌더링보다 완벽한 예입니다 다양한 공유 대상, 표시 here :

    <html> 
    <body> 
        <p> 
        <div data-action="share" class="g-plus" id="plusOne"></div> 
        <button onClick="gapi.plus.render('plusOne', getParamBag('https://www.google.com'))"></button> 
        </p> 
        <p> 
        <div data-action="share" class="g-plus" id="plusTwo"></div> 
        <button onClick="gapi.plus.render('plusTwo', getParamBag('https://plus.google.com'))"> </button> 
        </p> 
        <p> 
        <div data-action="share" class="g-plus" id="plusThree"></div> 
        <button onClick="gapi.plus.render('plusThree', getParamBag('https://developers.google.com'))"></button> 
        </p> 
    </body> 
    <script type="text/javascript"> 
        window.___gcfg = { 
         lang: 'en-US', 
         parsetags: 'explicit' 
        }; 
        (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); 
        })(); 
        function getParamBag(url){ 
        return { 
         action: "share", 
         href: url 
        }; 
        } 
    </script> 
    </html> 
    
    +0

    모든 개체를 렌더링합니다. 하지만 모든 개체를 렌더링 할 필요가 없습니다. 내용을로드 한 후에는 개체 수가 증가하고 "gapi.plus.go()"가 매우 오래로드되어 지연됩니다. –

    +0

    이 경우에는 gapi.plus.render (div)를 사용하지만 Gus와 같이 정확한 시간에 동적 콘텐츠를 클릭 한 후 또는로드 한 후에 트리거합니다. parsetags : 명시 적 설정도 유지해야합니다. – BrettJ