[英]Javascript communication between two web applications on different domains
我有一個Web應用程序,當客戶單擊Drupal Web內容頁面上的鏈接時,該應用程序將在新的彈出窗口中啟動。
當用戶到達Web應用程序工作流程中的某個頁面時,我想向(仍打開的)Drupal頁面發送一條消息,並向其傳遞一些信息(例如我在工作流程中的位置)。
當Drupal網站收到此“消息”時,它會在其末端調用一些javascript以更新當前顯示的頁面內容。
因此,基本上,這是從另一個域中的Javascript函數在一個域中執行Javascript的方法。
我對Drupal網站和Web應用程序都有控制權,因此任何需要在任一端部署的javascript都不成問題。 但是請注意,這兩個站點位於不同的域中,因此我需要實現一些可以跨域工作的東西
我不確定如何實現它,到目前為止,我已經考慮了JSON-P。
您的兩個Web應用程序都在客戶端運行,因此您無需向服務器詢問如何與已打開的窗口聯系。
因此,為了節省時間和精力,請在客戶端的窗口之間進行直接通信。
要將消息發送到另一個html頁面,您需要首先在打開的窗口中保留一個變量,如下所示:
// This code is inside the html file that open
// the drupal site.
var windowOpened = window.open("drupalUrl.html");
但是,在drupalUrl.html中,您需要創建一個全局函數,因此可以這樣調用:
windowOpened.globalFunction(param1, param2);
如我所說,在drupalUrl.html中,您需要創建一個函數:
function globalFunction(param1, param2){
//show your message
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.