【问题标题】:Display html from external site显示来自外部站点的 html
【发布时间】:2015-03-20 03:18:25
【问题描述】:

我想创建应用程序来生成 html 代码。这是什么意思?我认为这里的例子是最好的。我在我的网站上创建了一些 html 示例。我想让用户在他/她的网站上显示这些样本。例如用户复制一些链接:

<script scr='some/path'></script>

如果他将此脚本粘贴到他的网站上,那么我编译的 html 代码将显示在他的网站上。我的问题是如何做到最有效?我从来没有做过这样的事情。也许你可以给我一些概念,对我有帮助的工具。我看到过去开发人员使用 iframe 解决了这些问题。但我认为这不是完美的解决方案。

【问题讨论】:

标签: javascript html


【解决方案1】:

如果您希望一切都完全符合您的要求,那么没有比iframe 更好的解决方案了。

问题在于,如果您使用其他解决方案(例如,使用您网站中的脚本),那么您的 CSS 和 JavaScript 可能会与页面的其余部分发生冲突,例如:

  • 字体很可能会被弄乱;
  • 背景颜色、链接等也可能出错。

如果您真的想要这样做,那么您应该尝试在这里阅读一些内容:Embed an External Page Without an Iframe?

(我刚刚在 Google 上搜索了“嵌入 html 其他网站的 javascript”。)

祝你好运!

【讨论】:

    【解决方案2】:

    我认为 Eric Bidelman 在他的文章“HTML 导入”中得到了你需要的东西,点击下一个链接:

    http://www.html5rocks.com/en/tutorials/webcomponents/imports/

    通过声明:在您的页面上包含导入:

    <head>
      <link rel="import" href="/path/to/imports/stuff.html">
    </head>
    

    导入的 URL 称为导入位置。要从另一个域加载内容,导入位置需要启用 CORS:

    <!-- Resources on other origins must be CORS-enabled. -->
    <link rel="import" href="http://example.com/elements.html">
    

    要检测支持,请检查元素上是否存在 .import:

    function supportsImports() {
      return 'import' in document.createElement('link');
    }
    
    if (supportsImports()) {
      // Good to go!
    } else {
      // Use other libraries/require systems to load files.
    }
    

    浏览器支持仍处于早期阶段。 Chrome 31 是第一个看到实现的浏览器。从那时起,Chrome 36 更新为最新规格。您可以通过在 Chrome Canary 中的 about:flags 中打开启用实验性 Web 平台功能来启用该标志。对于其他浏览器,在得到广泛支持之前,Polymer 的 polyfill 效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      相关资源
      最近更新 更多