2013-07-10 27 views
2

我正在嘗試將AddThis小部件添加到ember.js應用程序。我使用直接從addthis.com採取基本代碼:Ember.js + AddThis error「Uncaught TypeError:無法讀取未定義的屬性」調用「

<!-- AddThis Button BEGIN --> 
<div class="addthis_toolbox addthis_default_style addthis_32x32_style"> 
<a class="addthis_button_facebook"></a> 
<a class="addthis_button_twitter"></a> 
<a class="addthis_button_google_plusone_share"></a> 
<a class="addthis_button_linkedin"></a> 
<a class="addthis_button_pinterest_share"></a> 
</div> 
<script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-51ddaec37ede7c28"></script> 
<!-- AddThis Button END --> 

...並收到此錯誤:「遺漏的類型錯誤:無法讀取屬性‘稱之爲’未定義」從http://ct1.addthis.com/static/r07/core085.js上線2

我已經問過支持,但還沒有運氣。任何想法是什麼導致這將是有益的!提前致謝!

編輯:我目前在應用程序的模板中有上面的代碼。

+0

並且您確定控制檯指出錯誤在該文件中? –

+0

那麼所有的代碼都在第2行...你可以得到一個unminified版本來測試? – Bergi

+0

是的,我確定。控制檯在該文檔中引用該行時出現此錯誤。 – MelArlo

回答

2

我不得不在addthis部件更深入地瞭解和恕我直言,從腳本加載的代碼做一些討厭東西像創建一個script標籤,也不是iframe等,並作爲一個handlebars模板中的DOM操作的部件腳本不會與ember.js協同工作,除非addthis後面的團隊做出了一些讓小部件更易集成的好處。

所以我不得不來看看一些替代共享窗口小部件,並sharethis做基本相同,addthis但有一個很大的不同 - 我得到了輕鬆與ember.js

的工作基本上就是我所做的是創建一個視圖窗口小部件,以及didInsertElement內部部件的初始化被稱爲:

App.WidgetView = Ember.View.extend({ 
    templateName: 'widget', 
    didInsertElement: function() { 
    stLight.options({publisher: "ur-733dae74-7b06-4fef-3f54-f60dce5ce03e", doNotHash: false, doNotCopy: false, hashAddressBar: false}); 
    } 
}); 

然後在另一個模板中的小部件很容易被簡單地做使用:

{{view App.WidgetView}} 

widget模板看起來是這樣的:

<script type="text/x-handlebars" data-template-name="widget"> 
    <span class='st_sharethis_large' displayText='ShareThis'></span> 
    <span class='st_facebook_large' displayText='Facebook'></span> 
    <span class='st_twitter_large' displayText='Tweet'></span> 
    <span class='st_linkedin_large' displayText='LinkedIn'></span> 
    <span class='st_pinterest_large' displayText='Pinterest'></span> 
    <span class='st_email_large' displayText='Email'></span> 
</script> 

看一看這裏的working demo

免責聲明:雖然我的回答並不直接解決您的問題,但也許它可以幫助你採取不同的方法,通過使用不同的分享窗口小部件,因爲我想你不會放棄ember.js只是因爲一些不起眼的小部件編程做不能正常工作。

希望它有幫助。

+0

哦,我認爲它會!我將盡快把這一點付諸實踐!非常感謝@intuitivepixel – MelArlo

+0

我已經安裝了它,它大部分工作!謝謝! 但是,我現在得到這個錯誤「Uncaught TypeError:無法讀取未定義的屬性'0'。不過,比AddThis更接近。謝謝! 任何想法它會試圖讀取,但不能? – MelArlo

+0

@MelArlo嗯,我想這將是有益的,看你的代碼找到問題,或者更好地,你可以發佈另一個問題,在jsbin中提供示例代碼,所以它會更容易調試 – intuitivepixel

相關問題