Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Communicating between websites (using Javascript or ?)

Here's my problem - I'd like to communicate between two websites and I'm looking for a clean solution. The current solution uses Javascript but there are nasty workarounds because of (understandable) cross-site scripting restrictions.

At the moment, website A opens a modal window containing website B using a jQuery plug-in called jqModal. Website B does some work and returns some results to website A. To return that information we have to work around cross-site scripting restrictions - website B creates an iframe that refers to a page on website A and includes *fragment identifiers" containing the information to be returned. The iframe is polled by website A to detect the returned information. It's a common technique but it's hacky.

There are variations such as CrossSite and I could perhaps use an HTTP POST from website B to website A but I'm trying to avoid page refreshes.

Does anyone have any alternatives?

EDIT: I'd like to avoid having to save state on website B.

like image 577
Robin Minto Avatar asked Aug 28 '08 18:08

Robin Minto


People also ask

Which JavaScript functions can be used for communication between frames?

Window.postMessage() The window.postMessage() method safely enables cross-origin communication between Window objects; e.g., between a page and a pop-up that it spawned, or between a page and an iframe embedded within it.

How can I communicate between PHP and JavaScript?

php" is the communication between JavaScript and PHP using jQuery Ajax method. When click the "send to php" button will run the "send_to_php ()" that will take the value of the input id "test" and send through ajax, for "js_php. php" file. In turn, the file "js_php.

How do two Web applications communicate?

The web applications are hosted on the server and the client here is the browser that displays it to the user. For server side web apps to scale while communicating with each other, a message hub or a message queue (MQ) is used.

Can JavaScript communicate with the website where it is downloaded?

You can't do this with just JavaScript. The point is: JS is a client-side language which means that it is downloaded by a client (a browser) and is run by it (not by server). For the 2 pages to communicate, you have establish the communication somehow, via some medium.


1 Answers

My best suggestion would be to create a webservice on each site that the other could call with the information that needs to get passed. If security is necessary, it's easy to add an SSL-like authentication scheme (or actual SSL even, if you like) to this system to ensure that only the two servers are able to talk to their respective web services.

This would let you avoid the hackiness that's inherent in any scheme that involves one site opening windows on the other.

like image 159
TheSmurf Avatar answered Oct 16 '22 06:10

TheSmurf