2011-12-19 63 views
0

我已經反向設計了一個系統,旨在允許網站使用各種社交網絡登錄。系統在每個社交網絡上彈出用於認證系統的窗口。我想將其更改爲iFrame。我和代碼玩過一段時間,但是很大程度上掙扎着。跨功能的JavaScript功能涉及社會認證

問題在於這些功能。第一個是在authentication.php文件:

function init() { 
    window.opener.wsl_wordpress_social_login({ 
     'action' : 'wordpress_social_login', 
     'provider' : '<?php echo $provider ?>' 
    }); 

    window.close(); 
} 

第二在connect.js文件:

window.wsl_wordpress_social_login = function(config) {... 

我他們改變了這一點,但無濟於事。

function init() { 
    wsl_wordpress_social_login({ 
     'action' : 'wordpress_social_login', 
     'provider' : '<?php echo $provider ?>' 
    }); 
} 

wsl_wordpress_social_login = function(config) { 

我也試圖改變以window.parent.document並沒有任何工作。

通過螢火返回的錯誤是這樣的:wsl_wordpress_social_login is not defined

用於開發目的的iframe ID爲#iframe

+0

我還沒有使用谷歌地圖API,所以我不能給你一個答案,但我想給你這個建議:谷歌地圖可以讓你得到一個給定的開始和結束位置的路線,以及一些其他可選參數。客戶端腳本的目的是讓客戶端完成他們自己的請求,所以如果你只是存儲你用來獲取路由的參數,你應該能夠讓客戶端向用戶展示它。 – bigblind 2011-12-19 18:46:09

+0

iframe是否與腳本位於同一主機上? – Ignas 2011-12-19 18:46:45

+0

@lgnas ..哦,是的。問題在於識別函數,因爲它沒有定義。 – 2011-12-19 18:52:08

回答

0

的JavaScript需要window.wsl_wordpress_social_login = function(config) {

的PHP文件的需求:

function init() { 
    window.parent.window.wsl_wordpress_social_login({ 
     'action' : 'wordpress_social_login', 
     'provider' : '<?php echo $provider ?>' 
    }); 
} 

奇妙