gpt4 book ai didi

javascript - Lightningjs在单独的窗口命名空间中加载和访问Js的方法?

转载 作者:行者123 更新时间:2023-11-28 08:04:10 31 4
gpt4 key购买 nike

我指的是[ https://github.com/olark/lightningjs]在单独的窗口命名空间中加载 js。

我已经测试了一个名为 example.js 的脚本文件,如下所示,需要在单独的窗口命名空间中加载。

function testjs(){
console.log("sample");

}

我在我的html中包含lightningjs-embed.js和lightining-bootstrap.js。

<html>
<head>
<title>testing light js</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/lightningjs-master/lightningjs-embed.js" ></script>
<script type="text/javascript" src="js/lightningjs-master/lightningjs-bootstrap.js"></script>

<script type="text/javascript">/*{literal}<![CDATA[*/
/*** lightningjs-embed.min.js ***/
window.piratelib = lightningjs.require("piratelib","js/sample.js");
/*]]>{/literal}*/</script>

console.log("modules",lightningjs.modules);
piratelib("testjs");

在控制台中,我可以查看两个对象,一个是lightningjs,另一个是piratelib。我期望在调用piratelib(“testjs”)后在控制台中获得“样本”。但我没有在控制台中获取示例。如果在控制台中尝试 Piratelib("testjs") 它会显示

function promiseFunction() {
console.log("promisdeId",promiseResponseId);
promiseFunction.id = promiseResponseId;
return modules[namespace].apply(promiseFunction, arguments)
}

而不是sample.js中的实际函数

function testjs(){
console.log("sample");

}

建议我一些在单独的 window.namespace 下加载 js 的想法,以避免 js 冲突。请澄清我是否使用 LightningJS 以正确的方式调用函数。提前致谢。

最佳答案

LightningJS 处理的函数返回 promises ,所以:

piratelib("testjs").then(function(result) { 
console.log(result);
}, function(error) {
// Handle your error
});

关于javascript - Lightningjs在单独的窗口命名空间中加载和访问Js的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991980/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com