未捕获的语法错误:Chrome 中的意外标记 {

普拉文·库马尔·拉纳

我试图连接三个文件rule.jsevent.jsaction.js利用进口和出口中的JavaScript。

in 的函数event.js将从浏览器获取数据,当 and 条件满足时,它将运行该函数,然后rule.js执行该操作。

// 规则.js

import{actionOne} from 'action.js';
var scrollAndTime = (function(){
    return function(){
        console.log(actionOne());
    }
})();

export{scrollAndTime};

// 事件.js

import { scrollAndTime } from 'rule';

var scrollPercentage = (function(){
    var scrollRun = false;  // This is for future use
    if(!scrollRun){
        return function(scroll){
            console.log("I am Scroll.");
            var height = document.documentElement,
                body   = document.body,
                st     = 'scrollTop',
                sh     = 'scrollHeight';
                scrollRun = scroll;
            var scrollPercent = (height[st]||body[st]) / ((height[sh]||body[sh]) - height.clientHeight) * 100;
            return scrollPercent;
        }
    }
})();

var timeSpent = (function(){
    var time    = new Date();
    var timeRun = false,  // This is for future use
        startTime = time.getTime();
    if(!timeRun){
        return function(){ // call this function by timeSpent()(); 
            console.log("I am Time.");
            return (new Date()).getTime() - startTime;
        }
    }
})();


// Handling and condition between scrollPercentage and timeSpent
var and=false;

addEventListener("click",function(){
    if(!and){
        var scrollAndTimeSpent=false;
        if(scrollPercentage()>70 && timeSpent()>15000){
            // this.alert("Executed!");
            and=true;
            scrollAndTimeSpent=true;
        }
        if(scrollAndTimeSpent){
            // Tell rule engine that I have completed
            // Execute this function.
            scrollAndTime();
        }
    }
})

// 动作.js

var actionOne = (function(){
    return function(){
        // Do the following things and return the required thing.
        return "ActionOne done!";
    }
})();

export{actionOne};

// index.html - 这是使用这些 js 文件的页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    <link rel="stylesheet" href="main.css">
    <title>Rule Engine</title>
</head>
<body>
    <script type="module" src="event.mjs"></script>
</body>
</html>

现在,当我使用 type="module" 时,我得到了 (Access to Script at 'file:///Users/praveenkumarrana/Desktop/Projects/ruleengine/event.mjs' from origin 'null' has been Blocked by CORS policy : 无效响应。因此不允许访问源“空”。) 错误。

当我不使用它时,我得到 (Uncaught SyntaxError: Unexpected token { in Chrome.)错误。

约尔斯基诺夫

从这一行,

file:///Users/praveenkumarrana/Desktop/Projects/ruleengine/event.mjs

我假设您是从文件系统运行此代码(不通过本地服务器)。由于 ES6 模块易于遵循同源策略,因此您无法在没有 CORS 标头的情况下从文件系统或跨源导入它们。本质上,您必须从服务器运行此代码在浏览器中禁用同源(用于测试)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript 错误 - 未捕获的语法错误:意外标记 {

错误未捕获语法错误:意外标记{

Chrome 上的纱线:未捕获的语法错误:意外标记 <

未捕获的承诺拒绝语法错误:JSON 中的意外标记 u 位于位置 0

未捕获的语法错误:JSON 中的意外标记 a 在位置 2

语法错误:Gulpfile.js 中的意外标记

语法错误:JSON Aurelia 中的意外标记 <

未捕获的语法错误:JSON.parse 中位置 0 处的 JSON 中的意外标记 < - Wordpress

未捕获的语法错误:JSON.parse 位置 0 处的 JSON 中的意外标记 d(<匿名>)

PHP 回显日期在 javascript 中。未捕获的语法错误:意外标记:标识符

未捕获的语法错误:“意外的标记 {”

未捕获的语法错误:意外的标记“!”

未捕获的语法错误:意外的标记“<”

Firefox与Chrome未捕获的语法错误意外的令牌错误

未捕获的语法错误:意外标记:尝试创建 url 路径时

未捕获的语法错误:意外标记;在 application.js 中部署到 heroku 后

JavaScript 抛出未捕获的语法错误:意外标记(来自 switch 语句的案例)

意外标记`}'附近的语法错误

意外标记'}'附近的语法错误

意外标记附近的语法错误`

意外标记“then”附近的语法错误

语法错误:意外标记(

语法错误:意外标记,应为“,”

Chrome未捕获的语法错误:意外的令牌非法

JS 和 Html 中未捕获的语法错误意外标识符

未捕获的语法错误:html 中的意外标识符

VM299:1 未捕获的语法错误:JSON.parse 位置 0 处的 JSON 中的意外标记 u(<匿名>)

未捕获的语法错误:意外标记:javascript 中的字符串文字。我不知道出了什么问题

未捕获的语法错误:控制台中 App.js:18:1 处 JSON.parse (<anonymous>) 位置 0 处 JSON 中的意外标记 u