2017-02-27 49 views
0

我有一個網頁應用程序,它是一個帶有iframe的單個頁面。 Page和iframe來自同一個來源。我試圖在iframe中發送一個事件從Google Analytics這樣的:從iframe內發送Google Analytics事件?

if(typeof parent.ga !== 'undefined') parent.ga('send','event', Category, Action, Label); 

我也嘗試過這種做法:

if(typeof parent.ga !== 'undefined') parent.sendGaEvent(Category, Action, Label); 

而且在父功能如下:

function sendGaEvent(Category, Action, Label){ 
    ga('send','event', Category, Action, Label); 
} 

這些方法似乎都不起作用。這些事件不會在Google Analytics中顯示。但是,如果我從iframe的父級發送類似以上的事件,它將起作用。我究竟做錯了什麼?

回答

0

你需要在這裏實現父母與子女的溝通。如果iframe在另一個域上,並且您有控制權,那麼您可以使用跨域郵件傳遞。 請通過鏈接http://blog.teamtreehouse.com/cross-domain-messaging-with-postmessage

+0

在收到消息後iframe可以發送命中到谷歌服務器。 –

+0

爲什麼我需要跨域消息傳遞? iframe只顯示來自同一服務器的另一個.html。這算作另一個域嗎? – Koto

+0

沒有,這並不意味着跨域是源(域)和協議匹配(http/https),那麼你可以簡單地發送一個事件到啓動谷歌分析呼叫的iframe。通過這裏的例子http://www.dyn-web.com/tutorials/iframes/refs/iframe-iframe.php –

相關問題