Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html “Safari扩展中的iFrame”;“爆米花”;_Html_Safari_Google Chrome Extension_Safari Extension - Fatal编程技术网

Html “Safari扩展中的iFrame”;“爆米花”;

Html “Safari扩展中的iFrame”;“爆米花”;,html,safari,google-chrome-extension,safari-extension,Html,Safari,Google Chrome Extension,Safari Extension,我有一个Chrome和Firefox的扩展,我正在为Safari做同样的扩展 这些插件都有一个弹出窗口。换句话说,你点击一个图标就会打开一个页面。我的Chrome扩展弹出窗口在te插件文件夹中打开一个带有iFrame的HTML页面。FF扩展直接链接到服务器上弹出窗口的PHP页面 我需要用Safari做我用Chrome做的事情。我需要制作一个本地HTML页面,该页面在服务器上有一个iFrame。这在chrome中可以工作,但Safari中的iFrame是空白的 感谢您的帮助…苹果不允许在popov

我有一个Chrome和Firefox的扩展,我正在为Safari做同样的扩展

这些插件都有一个弹出窗口。换句话说,你点击一个图标就会打开一个页面。我的Chrome扩展弹出窗口在te插件文件夹中打开一个带有iFrame的HTML页面。FF扩展直接链接到服务器上弹出窗口的PHP页面

我需要用Safari做我用Chrome做的事情。我需要制作一个本地HTML页面,该页面在服务器上有一个iFrame。这在chrome中可以工作,但Safari中的iFrame是空白的


感谢您的帮助…

苹果不允许在popover中加载iFrame。。。但是 您可以对任何域执行XMLhttpRequest(现在说什么?)。是XMLhttpRequest到任何域。 例如:

我将其用于选择器(因为我不想在扩展中加载jQuery或Mootools):

只需执行如下XMLhttpRequest:

http = new XMLHttpRequest();
http.open('get', 'http://yoursitehere.com/extension/');
http.onreadystatechange = function () {
    $('target-div-id').innerHTML = http.responseText;
}

通过这种方式,您可以用HTML填充目标div。

我认为苹果会阻止Popover加载任何非扩展本地的内容,这可能是为了让扩展更加安全。无论如何,在尝试在popover中加载网页方面,我没有你幸运。7年前发布了7篇文章……那么我现在可以在新的safari应用程序扩展popover中使用iframe了吗?谢谢!!!我是这样想的。无论如何,我的服务器上有COR(跨源请求)。但我不知道Safari允许向任何域发出请求:还有一件事。。。如何在不使用iFrame的情况下将数据发送回页面?您只能请求数据。因此,如果您想向popover添加内容,您应该执行GET/POST请求,并将响应放在popover内容的某个位置。但是,如果您想将数据发送到您的域/页面,您应该对请求执行一些操作,而不返回任何响应。。
http = new XMLHttpRequest();
http.open('get', 'http://yoursitehere.com/extension/');
http.onreadystatechange = function () {
    $('target-div-id').innerHTML = http.responseText;
}