【问题标题】:HTML import by DART command通过 DART 命令导入 HTML
【发布时间】:2014-08-14 16:28:37
【问题描述】:

我阅读了this 关于 HTML 导入的内容,并想使用 dart 来做同样的事情

“import.html”文件是:

<div id='imp'>This is the div to be imported</div>

index.html 文件是:

the imported div shall appear here: <output id="imported-div"></output>

main.dart 文件,是:

void main() {
      Element output = querySelector('#imported-div');

      var link = document.querySelector('link[rel=import]');
      var importedFile = link.import;

      output.innerHtml=importedFile.querySelector('div.imp');
   }

但是什么也没发生,我不知道该把导入的文件名写在哪里!!如果我需要在 index.html 文件中编写以下语句,或者不需要它:

<link rel="import" href="import.html">

任何想法!

【问题讨论】:

    标签: html dom import dart


    【解决方案1】:

    一些小错误

    选择器错误

    // output.innerHtml=importedFile.querySelector('div.imp'); // requires <div class="imp">
    //output.innerHtml=importedFile.querySelector('div#imp');  // requires <div id="imp">
    output.append(importedFile.querySelector('div#imp'));      // append instead of innerHtml = (requires a String)
    

    如果你想多次使用导入,你也可以这样做

    output.append(importedFile.querySelector('div#imp').clone(true));
    

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

    【讨论】:

    • 我在 Chrome 控制台中收到此错误消息,它看起来在 Chrome 中不允许导入:“跨源资源共享策略已阻止加载来自源文件:// 的导入资源:已收到无效的响应。因此不允许访问 Origin 'null'。"
    • 我认为当您直接从文件中加载此内容时,您需要使用此参数启动 Chrome --allow-file-access-from-files
    猜你喜欢
    • 2011-09-30
    • 1970-01-01
    • 2021-08-04
    • 2016-08-06
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多