3

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

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

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

谢谢你的帮助...

4

1 回答 1

4

Apple 不允许在弹出框内加载 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。

于 2012-06-05T14:06:09.357 回答