javascript - Javascript 意外令牌
问题描述
我为一些测试编写了这段代码,我打算将一个 Github 脚本链接到它。但是当我尝试它时,它不起作用。
const request = url => fetch(url).then(res => res.text());
const injectInline = (data) => {
data = data.replace(new RegExp("\r?\n", "g"), "")
data = data.replace(/ +/g, " ");
let s = document.createElement('script');
s.type = 'text/javascript';
s.innerText = data;
document.getElementsByTagName('body')[0].appendChild(s);
};
(async function() {
let script = await request(`github link`);
injectInline((script));
})();
let observer = new MutationObserver(mutations => {
for (const mutation of mutations) {
for (let node of mutation.addedNodes) {
if (node.tagName == 'SCRIPT' && node.src.includes("c14.js")) {
node.outerHTML = ``;
}
}
}
});
.observe(document, {
childList: true,
subtree: true
});
当我运行此代码时,它会引发以下错误:
Uncaught SyntaxError: Unexpected token '.'
解决方案
欢迎来到SO。乍一看,;
最后几行中不应该出现在这里。这是您更新的代码:
const request = url => fetch(url).then(res => res.text());
const injectInline = (data) => {
data = data.replace(new RegExp("\r?\n", "g"), "")
data = data.replace(/ +/g, " ");
let s = document.createElement('script');
s.type = 'text/javascript';
s.innerText = data;
document.getElementsByTagName('body')[0].appendChild(s);
};
(async function() {
let script = await request(`github link`);
injectInline((script));
})();
let observer = new MutationObserver(mutations => {
for (const mutation of mutations) {
for (let node of mutation.addedNodes) {
if (node.tagName == 'SCRIPT' && node.src.includes("c14.js")) {
node.outerHTML = ``;
}
}
}
})
.observe(document, {
childList: true,
subtree: true
});
推荐阅读
- office-js - 教程中的 Microsoft Office 加载项无响应
- magento2.2 - MISCONF Redis 配置为保存 RDB 快照,但目前无法持久保存在磁盘上。可能修改数据集的命令被禁用
- php - 如何在 FormData 对象中捕获返回值
- algorithm - 如何找到两列之间差异的绝对值之和?
- kubernetes - Helm 更改部署工件的名称
- java - Spring AOP切面不拦截注解的方法
- missing-data - 使用具有 NaN 值的 SMOTE
- java - 等价于 graal.js 脚本引擎中的 Nashorn 的 importPackage
- sql-server - 执行 SQL Server 的任务怎么可能被并行调用?
- android - 如何获取触摸事件的绝对位置?