【问题标题】:Fetch content from other page in Moovweb从 Moovweb 中的其他页面获取内容
【发布时间】:2015-09-24 16:54:25
【问题描述】:

我正在使用 Moovweb 转换一个网站。在我想要的其中一个页面上包含来自单独页面/网址的内容。我只想包含部分内容。目前我有两个选择:

  1. 使用 AJAX 实现此目的,但这需要在页面加载后加载新内容。内容似乎不在页面或源中。
  2. 我在新 URL 中包含一个 iframe,并在页面加载后使用 javascript 检索内容。

上述两个选项都需要在页面加载后解析和操作 DOM。有没有办法使用氚来做到这一点,以便内容已经是页面的一部分。

【问题讨论】:

    标签: moovweb tritium


    【解决方案1】:

    iframe:如果内容来自您的网站 (www.yoursite.com/anotherpage.html),那么您可以通过为“anotherpage.html”创建一个特殊的 ts 文件来转换它并在那里进行转换。但据我所知,您不能以任何方式触摸 iframed 的第 3 方内容 (www.anothersite.com)。你——也许——能够用 css 设置新内容的样式,但那是你必须尝试的东西。

    AJAX:您可以使用CSS Animations and Javascript 转换延迟加载的内容。无论你做什么都不要使用 MutationObservers 或 DOMNodeInserted。不利于移动设备上的页面加载速度,旧版本的 IE 和 Android 甚至无法识别它。

    【讨论】:

      【解决方案2】:

      不,这是不可能的。在将内容提供给最终用户之前,您不能调用两个不同的页面并合并内容。

      只有浏览器向服务器请求页面/资源。

      当您处理一个时,您不能使用氚向服务器请求额外的资源/内容。如果你想在你的页面中添加内容,你可以

      1. 插入静态内容或
      2. 添加 iframe 或
      3. 使用 ajax

      现在如果您要插入的内容来自另一个页面,您可以使用选项 2 或 3。您可以使用 tritium 操作 DOM 结构。

      简单来说,您处理的每个请求都有自己的封闭范围,就像一个黑盒子,您可以在将资源提供给浏览器之前对其进行操作。只要您在那个黑匣子(范围)中,您就可以从外部添加一些东西(例如静态内容),但不能从另一个黑匣子(请求)复制/使用。我希望这可以回答您的问题. :)

      【讨论】:

        猜你喜欢
        • 2016-03-25
        • 2012-05-29
        • 1970-01-01
        • 1970-01-01
        • 2021-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-09
        相关资源
        最近更新 更多