【问题标题】:How to wait for an HTML page and get result when page complitely created?页面完全创建后如何等待 HTML 页面并获得结果?
【发布时间】:2016-08-23 01:39:07
【问题描述】:

我有一个页面 (page1.html),我想向 page2.html (http://m-kermani.github.io/getapp.html) 发送一个 ajax,而 page2.html 有一个由 javascript 制作的 iframe

我是用javaScript做的,因为我需要向page3发送一个参数

在 page1.html 我有:

$.get('https://m-kermani.github.io/getapp.html', function (data) {
    alert(data);
});

我只需要 iframe 内容,但因为它是由 JavaScript 制作的,所以我无法获得它并且没有创建! (JavaScirpt 就是这样)

我需要发送 ajax 请求并获取 iframe 内容,因为由于 GitHub.io 的某些原因,我需要一个 https 域!

不,我需要知道我是否可以从 GitHub 页面获取 iframe 的内容?

有没有其他方法可以让我直接拥有 GitHub 页面并为其提供参数并获取 page3 的内容(不使用服务器端语言)?

还有关于我能做什么的建议?

【问题讨论】:

    标签: javascript jquery html iframe github


    【解决方案1】:

    听起来你想绕过same-origin policy。除非您尝试访问的 API 专门支持某种方式(CORS, JSONP 等),否则您无法执行此操作。您应该阅读您尝试访问的 API 的文档,看看他们是否支持从客户端访问它。

    【讨论】:

    • 我正在开发 Google Chrome 扩展程序,它不允许我向非 https 域发送 ajax 请求,而且我没有 https,我只是想用这个技巧来解决问题,你知道 github 是 https ;)
    • 这是一个可怕的黑客攻击。只需为您自己的网站获取 https。
    • 现在我这么认为!至少我试了一下,现在更多关于同源政策
    • Protip:Let's Encrypt 提供合法的免费证书。不过设置起来有点麻烦。
    • 谢谢;我会尝试设置它
    【解决方案2】:

    Ajax 请求只是对资源的请求。它只是获取服务器要发送的任何内容。它不会自动呈现 HTML 并获取相关资源。

    如果您想要框架的内容,那么您必须请求框架的 URL,而不是其中包含 <iframe> 标记的页面的 URL。

    Same Origin Policy 仍然适用)。

    【讨论】:

    • 让我告诉你是什么问题;我正在开发一个 chrome 扩展,它要求我向 https 发送请求,但我自己的域不是 https,我正在寻找一种方法(github 是 https)
    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多