|
@@ -44,6 +44,7 @@ function assistLoad(itemId) {
|
|
|
}, '*');
|
|
}, '*');
|
|
|
};
|
|
};
|
|
|
function sendCallBack(callBackID, value) {
|
|
function sendCallBack(callBackID, value) {
|
|
|
|
|
+ if (!event.data.callBackID) return
|
|
|
iframe.contentWindow.postMessage({
|
|
iframe.contentWindow.postMessage({
|
|
|
type: "callBack",
|
|
type: "callBack",
|
|
|
value,
|
|
value,
|
|
@@ -70,10 +71,33 @@ function assistLoad(itemId) {
|
|
|
switch (event.data.type) {
|
|
switch (event.data.type) {
|
|
|
// assistMsg('click','#shi')
|
|
// assistMsg('click','#shi')
|
|
|
case "click":
|
|
case "click":
|
|
|
- if (typeof event.data.value === "string") {
|
|
|
|
|
- document.querySelector(event.data.value).click()
|
|
|
|
|
|
|
+ if (typeof event.data.target === "string") {
|
|
|
|
|
+ if (document.querySelector(event.data.target)) {
|
|
|
|
|
+ document.querySelector(event.data.target).click()
|
|
|
|
|
+ sendCallBack(event.data.callBackID, {"err": 0})
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sendCallBack(event.data.callBackID, {"err": 1, "msg": "元素不存在!"})
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (document.querySelectorAll(event.data.target[0])[event.data.target[1]]) {
|
|
|
|
|
+ document.querySelectorAll(event.data.target[0])[event.data.target[1]].click()
|
|
|
|
|
+ sendCallBack(event.data.callBackID, {"err": 0})
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sendCallBack(event.data.callBackID, {"err": 1, "msg": "元素不存在!"})
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "setValue":
|
|
|
|
|
+ const domTemp = document.querySelector(event.data.target)
|
|
|
|
|
+ if (domTemp) {
|
|
|
|
|
+ domTemp.value = event.data.value
|
|
|
|
|
+ // 触发 `input` 事件,让 Vue/React 或监听的代码能检测到变化
|
|
|
|
|
+ domTemp.dispatchEvent(new Event("input", { bubbles: true }));
|
|
|
|
|
+ sendCallBack(event.data.callBackID, {"err": 0})
|
|
|
} else {
|
|
} else {
|
|
|
- document.querySelectorAll(event.data.value[0])[event.data.value[1]].click()
|
|
|
|
|
|
|
+ sendCallBack(event.data.callBackID, {"err": 1, "msg": "元素不存在!"})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
break;
|
|
break;
|