2012-01-17 152 views

回答

3

有一個奇怪的IE8版本(僅8.0.7600.16385版本),很難得到,它會導致與Plus1按鈕呈現渲染錯誤。這裏有您需要使用來解決這個問題的代碼:我不使用jQuery的jQuery的不喜歡叫g:plugone元素

var gPlusOne = document.createElement('g:plusone'); 
    gPlusOne.setAttribute("size", "medium"); 
    gPlusOne.setAttribute("annotation", "bubble"); 
    gPlusOne.setAttribute("width", "120"); 
    googlePluginDiv[0].appendChild(gPlusOne); 

通知,但它可以與document.createElement

+0

非常感謝後腰!不幸的是,我只能在非IE8瀏覽器中進行渲染。我沒有在我的特殊情況之外對此進行測試,因此我無法確定它是否有效。 – tollmanz

+0

上面的代碼在Windows和Mac OS上的大多數瀏覽器(除了真正的舊瀏覽器除外)中呈現。它已通過廣泛的第三方QA測試以確保其工作。所以我不確定它爲什麼不適合你。 – DMCS

+0

謝謝DMCS!我會做更多的測試。我開始認爲在我正在處理的網站中存在一些衝突的代碼。偶然的情況是,你有沒有參考IE8(8.0.7600.16385版本)中的渲染錯誤,或者是你自己測試的錯誤?如果有文章,我很想仔細閱讀。無論哪種方式......感謝您的幫助! – tollmanz

0

對於被渲染我的解決方案沒有工作(在ie8的指定版本上...) 但是,它使用HTML5語法。 我在這裏找到了http://chovy.dyndns.org/social2.html

我複製下面的解決方案的情況下,託管獲得一天下來:

<div class="g-plusone" data-size="standard" data-count="true" [or data-whatever=...]></div> 

我沒有嘗試使用動態JS來加載,但我想應該沒問題。

0

完全在IE8和IE9 ...但不是在IE7
分享演示:JQuery的I幀

</head> 
    <body> 
    <div id="gplusID"></div> 

    <script type="text/javascript"> 
    var gdiv = document.getElementById('gplusID'); 
    var gPlusOne = document.createElement('g:plusone'); 
    gPlusOne.setAttribute("size", "medium"); 
    gPlusOne.setAttribute("annotation", "bubble"); 
    gPlusOne.setAttribute("width", "120"); 
    gdiv.appendChild(gPlusOne); 
     window.___gcfg = { 
     lang: 'en-US' 
     }; 

     (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); 
     })(); 
    </script> 

    </body> 

</html>