【问题标题】:Load page in javascript without opening it在javascript中加载页面而不打开它
【发布时间】:2012-01-20 12:57:25
【问题描述】:

我想在 javascript 中加载页面的内容而不实际打开它。我想使用它,这样我就可以加载一个页面并扫描它的一些元素,看看它是否应该在打开之前在新窗口/标签中打开。

我该怎么做?

【问题讨论】:

  • 是否遵循same origin policy
  • 嗯,我是 Web 开发的初学者,我有一个非常简单的想法来创建一个很酷的小网站。如果不是太复杂的话,我愿意使用与 javascript 完全不同的东西。我宁愿让它在几分钟内运行,也不愿学习我再也不需要的东西(我通常从不开发网络东西,我可能再也不会开发了)。编辑:@zzzzBov,我基本上只需要检查我想打开的网站是否有类似“404 - 未找到”的内容,所以我不确定它是否符合政策。这些网站始终是外部的
  • @heishe:如果您想知道页面是否找不到,您只需发送HEAD 请求即可。但是,如果页面与主网页不在同一个域中,您仍然只能在服务器端执行此操作。
  • 一点更新:感谢到目前为止的回复,但我猜它可以做得更容易一些。我需要做的基本上是:var wnd = window.open(url),然后以某种方式阻止窗口打开,直到我想手动打开它,直到那时通过 window.document.getElementByID()

标签: javascript


【解决方案1】:

您可以使用XMLHttpRequest 对象来做到这一点。

但是,这会受到跨域脚本限制。

了解更多信息:

【讨论】:

  • w3schools 是邪恶的,链接到 mdn 或更好的来源。
  • @TreyE, MDN != MSDN.
【解决方案2】:

Ajax 调用中加载它。

使用 jQuery:

$.ajax({
  url: 'http://your_page_url',
  success: function( data ) {
    // process data (which is actually your page contents)
  }
});

【讨论】:

  • 当我尝试这个时,调试器说:XMLHttpRequest cannot load URLHERE。 Access-Control-Allow-Origin 不允许 Origin null。我该如何解决这个问题?
  • 你的网址是什么?这个错误在herehere讨论
  • 值得注意的是,这需要 jQuery。
  • 这就是为什么 With jQuery 是答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多