簡體   English   中英

不同域上的兩個Web應用程序之間的Javascript通信

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM