Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待js脚本加载到页面上_Javascript_Dart - Fatal编程技术网

Javascript 等待js脚本加载到页面上

Javascript 等待js脚本加载到页面上,javascript,dart,Javascript,Dart,我正在尝试将js文件添加到页面。如何检查该文件是否已加载 javascript ga.js文件: this.event = function (value) { this.value = value; this.method = function() { return "sometext"; }; }; Dart代码: ScriptElement ga = new ScriptElement() ..src = "/ga.js" ..as

我正在尝试将js文件添加到页面。如何检查该文件是否已加载

javascript ga.js文件:

this.event = function (value) {
    this.value = value;
    this.method = function() {
        return "sometext";
    };
};
Dart代码:

ScriptElement ga = new ScriptElement()
    ..src = "/ga.js"
    ..async = true;
querySelector('body').append(ga);

bool exist = context.hasProperty('event');
    JsObject event = null;
    if (exist) {
        print("event exist");
    } else {
        print("there is no event yet");
    }

您只需将
onload
事件添加到HTML中的任何
script
元素

ga.onload = function(ev) { alert('loaded!') };

既然是这样,它应该与Dart完美结合。

我现在发现的方法是使用Future

void checkEvent() {
    bool exist = context.hasProperty('event');
    JsObject event = null;
    if (exist) {
        print("event exist");
    } else {
        print("there is no event yet");
        var future = new Future.delayed(const Duration(milliseconds: 10), checkEvent);
    }
}

但如果我现在已经知道“事件”存在于javascript文件中。也许有什么方法可以检查javascript何时加载到html中?

大多数使用Chrome、Firefox甚至IE等开发工具的浏览器都有一个名为“网络”的选项卡。在这些面板/选项卡中,您可以搜索相关文件。如果它已加载,它将位于该视图中

只要JavaScript识别/尝试加载
.js
文件,
控制台通常会告诉您是否无法加载该文件

如果您计划在加载文件后在页面上执行某些操作,那么您可能希望按照Niels Keurentjes
的建议执行更多操作

更多信息:


您想知道js脚本是否已加载到您的html中?是的,@patrick。加载后。谢谢您的评论。用dart我做了
ga.onLoad.listen((e)=>checkGA())仅用于再次检查并在将来删除