Safari扩展程序中的iFrame“Popover”

时间:2012-06-02 14:12:39

标签: html safari google-chrome-extension safari-extension

我有Chrome和Firefox扩展程序,我正在为Safari制作相同的扩展程序。

这些插件都有一个弹出窗口。换句话说,您单击的图标和页面将打开。我的Chrome扩展程序弹出窗口在带有iFrame的te插件文件夹中打开了一个HTML页面。 FF扩展直接链接到服务器上的PHP页面以进行弹出。

我需要在Safari中使用Chrome做的事情。我需要创建一个本地HTML页面,其中有一个iFrame到服务器上的页面。这适用于chrome,但Safari中的iFrame只是空白。

感谢您的帮助......

1 个答案:

答案 0 :(得分:4)

Apple不允许在popover中加载iFrame ...但是! 您可以对任何域进行XMLhttpRequest(现在说什么?)。是XMLhttpRequest到任何域。 示例:

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

function $(element) {
    return document.getElementById(element);
}

只需像这样执行XMLhttpRequest:

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

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