|
@@ -16,7 +16,7 @@ import {
|
|
|
|
|
|
const nanoid = customAlphabet('1234567890abcdef', 5);
|
|
const nanoid = customAlphabet('1234567890abcdef', 5);
|
|
|
|
|
|
-function getAutomaScript(varName, refData, everyNewTab, isEval = false) {
|
|
|
|
|
|
+function getAutomaScript({ varName, refData, everyNewTab, isEval = false }) {
|
|
let str = `
|
|
let str = `
|
|
const ${varName} = ${JSON.stringify(refData)};
|
|
const ${varName} = ${JSON.stringify(refData)};
|
|
${automaRefDataStr(varName)}
|
|
${automaRefDataStr(varName)}
|
|
@@ -74,12 +74,12 @@ async function executeInWebpage(args, target, worker) {
|
|
const { debugMode } = worker.engine.workflow.settings;
|
|
const { debugMode } = worker.engine.workflow.settings;
|
|
const cspResult = await checkCSPAndInject({ target, debugMode }, () => {
|
|
const cspResult = await checkCSPAndInject({ target, debugMode }, () => {
|
|
const { 0: blockData, 1: preloadScripts, 3: varName } = args;
|
|
const { 0: blockData, 1: preloadScripts, 3: varName } = args;
|
|
- const automaScript = getAutomaScript(
|
|
|
|
|
|
+ const automaScript = getAutomaScript({
|
|
varName,
|
|
varName,
|
|
- blockData.refData,
|
|
|
|
- blockData.data.everyNewTab,
|
|
|
|
- true
|
|
|
|
- );
|
|
|
|
|
|
+ isEval: true,
|
|
|
|
+ refData: blockData.refData,
|
|
|
|
+ everyNewTab: blockData.data.everyNewTab,
|
|
|
|
+ });
|
|
const jsCode = jsContentHandlerEval({
|
|
const jsCode = jsContentHandlerEval({
|
|
blockData,
|
|
blockData,
|
|
automaScript,
|
|
automaScript,
|
|
@@ -124,7 +124,14 @@ export async function javascriptCode({ outputs, data, ...block }, { refData }) {
|
|
frameSelector: this.frameSelector,
|
|
frameSelector: this.frameSelector,
|
|
};
|
|
};
|
|
if (data.code.includes('automaRefData')) {
|
|
if (data.code.includes('automaRefData')) {
|
|
- payload.refData = { ...refData, secrets: {} };
|
|
|
|
|
|
+ const newRefData = {};
|
|
|
|
+ Object.keys(refData).forEach((keyword) => {
|
|
|
|
+ if (!data.code.includes(keyword)) return;
|
|
|
|
+
|
|
|
|
+ newRefData[keyword] = refData[keyword];
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ payload.refData = { ...newRefData, secrets: {} };
|
|
}
|
|
}
|
|
|
|
|
|
const preloadScriptsPromise = await Promise.allSettled(
|
|
const preloadScriptsPromise = await Promise.allSettled(
|
|
@@ -155,7 +162,11 @@ export async function javascriptCode({ outputs, data, ...block }, { refData }) {
|
|
const automaScript =
|
|
const automaScript =
|
|
data.everyNewTab && (!data.context || data.context !== 'background')
|
|
data.everyNewTab && (!data.context || data.context !== 'background')
|
|
? ''
|
|
? ''
|
|
- : getAutomaScript(instanceId, payload.refData, data.everyNewTab);
|
|
|
|
|
|
+ : getAutomaScript({
|
|
|
|
+ varName: instanceId,
|
|
|
|
+ refData: payload.refData,
|
|
|
|
+ everyNewTab: data.everyNewTab,
|
|
|
|
+ });
|
|
|
|
|
|
if (data.context !== 'background') {
|
|
if (data.context !== 'background') {
|
|
await waitTabLoaded({
|
|
await waitTabLoaded({
|