mehdi mehdi - 6 months ago 25
PHP Question

remote call javascript function from another site

I have a upload script in another host and after remote file upload with

Ajax
I call a function like this :

echo '<script language="javascript" type="text/javascript">window.top.window.stopUpload('.$result.' , \'res2\' , uploaded , dkey);</script>';


the
stopUpload
function in the main page should run and do some thing (show pictures and ...)
but I get Permission denied error

Error: Permission denied to access property "stopUpload"


tip : Imagine I have
stopUpload
function in
pageA
and I call send file with ajax to upload in my another Host page called
pageB
I have a
stopUpload
function in pageB which should run on pageA after upload complete but face to above error ...

Can I call javascript function in another page remotely?

Thanks.

Answer

You are probably violating Same Origin Policy.

An Iframe can access parent window content only if they both belong to same origin. An origin consists of Protocol (http/https), domain name(example.com and port(default 80). If any of these are different then sites are considered from different origins. If you are able to modify content of both the sites then you can manually set the document.domain=domain.com. After that you won't get the error.

#Edit

Both the sites should at least have super domain in common for manual domain setting to work.

For example, facebook.com and google.com can never be compatible since their super domains are different.

However docs.google.com and developer.google.com can be compatible as they have super domain google.com in common.

They both would have to declare document.domain=google.com in a script tag.