自动发帖软件
标题:
AIWROK软件H5网页被主脚本获取值用法
[打印本页]
作者:
发帖软件
时间:
4 小时前
标题:
AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
3.png
(537.29 KB, 下载次数: 0)
4 小时前
上传
2.png
(620.52 KB, 下载次数: 0)
4 小时前
上传
1.png
(609.41 KB, 下载次数: 0)
4 小时前
上传
H5交互案例.zip
(39.64 KB, 下载次数: 0)
4 小时前
上传
点击文件名下载附件
/**
*🍎交流QQ群711841924群一,苹果内测群,528816639
* H5页面值获取脚本
* 适用于AIWROK IDE与H5页面交互
*/
var publicData = (function() {
var dataStore = {};
return {
set: function(key, value) {
dataStore[key] = value;
printl('已设置公共数据: ' + key + ' = ' + value);
},
get: function(key) {
var value = dataStore[key];
printl('获取公共数据: ' + key + ' = ' + value);
return value;
},
remove: function(key) {
var oldValue = dataStore[key];
delete dataStore[key];
printl('已删除公共数据: ' + key + ', 原值: ' + oldValue);
return oldValue;
},
clear: function() {
dataStore = {};
printl('已清空所有公共数据');
},
has: function(key) {
return key in dataStore;
},
keys: function() {
return Object.keys(dataStore);
},
size: function() {
return Object.keys(dataStore).length;
}
};
})();
var webView = null;
function setWebView(webViewRef) {
webView = webViewRef;
printl('WebView引用已设置,可以开始与H5页面交互');
}
function printl(message) {
console.log(message);
if (typeof showResult === 'function') {
showResult(message);
}
}
function showResult(message) {
try {
if (typeof document !== 'undefined' && document.getElementById('result')) {
document.getElementById('result').innerText = message;
} else {
console.log(message);
}
} catch (e) {
console.log(message);
}
}
function getH5Value(jsCode) {
if (!webView) {
printl('错误:WebView未设置,请先调用setWebView()');
return null;
}
try {
if (typeof webView.runWebJs === 'function') {
var result = webView.runWebJs(jsCode);
return result;
} else {
printl('WebView的runWebJs方法不可用');
return null;
}
} catch (e) {
printl('runWebJs方法执行失败: ' + e.message);
return null;
}
}
function getH5TextValue() {
var jsCode = "(function() {" +
"var input = document.getElementById('input1');" +
"if (input) {" +
" return input.value;" +
"} else {" +
" var inputs = document.getElementsByName('input1');" +
" if (inputs.length > 0) {" +
" return inputs[0].value;" +
" } else {" +
" return '未找到文本框元素';" +
" }" +
"}" +
"})()";
var result = getH5Value(jsCode);
printl('文本框值: ' + result);
return result;
}
function getH5DropdownValue() {
var jsCode = "(function() {" +
"var dropdown = document.getElementById('dropdown');" +
"if (dropdown) {" +
" return dropdown.options[dropdown.selectedIndex].value;" +
"} else {" +
" return '未找到下拉框元素';" +
"}" +
"})()";
var result = getH5Value(jsCode);
printl('下拉框值: ' + result);
return result;
}
function getH5RadioValue() {
var jsCode = "(function() {" +
"var radios = document.getElementsByName('radiogroup');" +
"for (var i = 0; i < radios.length; i++) {" +
" if (radios[i].checked) {" +
" return radios[i].value;" +
" }" +
"}" +
"return '未选择';" +
"})()";
var result = getH5Value(jsCode);
printl('单选按钮值: ' + result);
return result;
}
function getH5CheckboxValue() {
var jsCode = "(function() {" +
"var checkboxes = document.querySelectorAll('input[name=\"check1\"], input[name=\"check2\"]');" +
"var selectedValues = [];" +
"for (var i = 0; i < checkboxes.length; i++) {" +
" if (checkboxes[i].checked) {" +
" selectedValues.push(checkboxes[i].value);" +
" }" +
"}" +
"return selectedValues.length > 0 ? selectedValues.join(',') : '未选择';" +
"})()";
var result = getH5Value(jsCode);
printl('多选框值: ' + result);
return result;
}
function getH5TaskSelections() {
var jsCode = "(function() {" +
"var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
"var selectedTasks = [];" +
"for (var i = 0; i < taskCheckboxes.length; i++) {" +
" if (taskCheckboxes[i].checked) {" +
" selectedTasks.push(taskCheckboxes[i].value);" +
" }" +
"}" +
"return selectedTasks.length > 0 ? selectedTasks.join(',') : '未选择任务';" +
"})()";
var result = getH5Value(jsCode);
printl('任务选项值: ' + result);
return result;
}
function getH5AllTasksInfo() {
var jsCode = "(function() {" +
"var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
"var tasksInfo = [];" +
"for (var i = 0; i < taskCheckboxes.length; i++) {" +
" tasksInfo.push({" +
" id: taskCheckboxes[i].id," +
" value: taskCheckboxes[i].value," +
" checked: taskCheckboxes[i].checked" +
" });" +
"}" +
"return JSON.stringify(tasksInfo);" +
"})()";
var result = getH5Value(jsCode);
printl('所有任务选项信息: ' + result);
return result;
}
function getH5InteractionInfo() {
var jsCode = "(function() {" +
"try {" +
"var info = {};" +
"info.currentStatus = document.getElementById('current-status') ? document.getElementById('current-status').textContent : '未找到';" +
"info.connectionStatus = document.getElementById('connection-status') ? document.getElementById('connection-status').textContent : '未找到';" +
"info.lastInteraction = document.getElementById('last-interaction') ? document.getElementById('last-interaction').textContent : '未找到';" +
"info.availableTasks = document.getElementById('available-tasks') ? document.getElementById('available-tasks').textContent : '未找到';" +
"return JSON.stringify(info);" +
"} catch(e) { return 'Error: ' + e.message; }" +
"})()";
var result = getH5Value(jsCode);
printl('交互信息: ' + result);
return result;
}
function getAllH5FormValues() {
var jsCode = "(function() {" +
"try {" +
"var formData = {};" +
"var input = document.getElementById('input1');" +
"formData.input1 = input ? input.value : '未找到';" +
"var dropdown = document.getElementById('dropdown');" +
"formData.dropdown = dropdown ? dropdown.options[dropdown.selectedIndex].value : '未找到';" +
"var radios = document.getElementsByName('radiogroup');" +
"formData.radio = '未选择';" +
"for (var i = 0; i < radios.length; i++) {" +
" if (radios[i].checked) {" +
" formData.radio = radios[i].value;" +
" break;" +
" }" +
"}" +
"var checkboxes = document.querySelectorAll('input[name=\"check1\"], input[name=\"check2\"]');" +
"formData.checkboxes = [];" +
"for (var i = 0; i < checkboxes.length; i++) {" +
" if (checkboxes[i].checked) {" +
" formData.checkboxes.push(checkboxes[i].value);" +
" }" +
"}" +
"var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
"formData.tasks = [];" +
"for (var i = 0; i < taskCheckboxes.length; i++) {" +
" if (taskCheckboxes[i].checked) {" +
" formData.tasks.push(taskCheckboxes[i].value);" +
" }" +
"}" +
"return JSON.stringify(formData);" +
"} catch(e) { return 'Error: ' + e.message; }" +
"})()";
var result = getH5Value(jsCode);
printl('所有表单值: ' + result);
return result;
}
function 演示获取H5值() {
printl('=== 开始演示从H5页面获取表单值 ===');
if (!webView) {
printl('WebView未设置,请先设置WebView引用');
return;
}
var textValue = getH5TextValue();
var dropdownValue = getH5DropdownValue();
var radioValue = getH5RadioValue();
var checkboxValue = getH5CheckboxValue();
var taskValue = getH5TaskSelections();
printl('=== H5表单值获取演示完成 ===');
}
function demoGetH5Values() {
演示获取H5值();
}
function 获取H5选中项目() {
printl('=== 开始获取H5页面选中的项目 ===');
if (!webView) {
printl('WebView未设置,请先设置WebView引用');
return;
}
var selectedTasks = getH5TaskSelections();
printl('H5页面选中的项目: ' + selectedTasks);
printl('=== 获取H5页面选中项目完成 ===');
}
function getH5SelectedItems() {
获取H5选中项目();
}
function 测试函数2() {
printl('测试函数2运行中');
printl('=== 开始从H5页面获取表单值 ===');
var allValues = getAllH5FormValues();
printl('所有表单值: ' + allValues);
printl('=== H5表单值获取完成 ===');
}
function testFunction2() {
测试函数2();
}
function 演示公共数据操作() {
printl('=== 开始演示公共数据操作 ===');
publicData.set('文本值', '这是一个文本值');
publicData.set('数字值', 123);
publicData.set('布尔值', true);
publicData.set('对象值', {name: '测试', count: 1});
var textValue = publicData.get('文本值');
printl('获取到文本值: ' + textValue);
var numValue = publicData.get('数字值');
printl('获取到数字值: ' + numValue);
var boolValue = publicData.get('布尔值');
printl('获取到布尔值: ' + boolValue);
var objValue = publicData.get('对象值');
printl('获取到对象值: ' + JSON.stringify(objValue));
var hasText = publicData.has('文本值');
printl('是否存在文本值键: ' + hasText);
var allKeys = publicData.keys();
printl('所有键: ' + allKeys.join(', '));
var size = publicData.size();
printl('数据项数量: ' + size);
printl('=== 公共数据操作演示完成 ===');
}
function 主要演示() {
setWebView(webView);
演示获取H5值();
测试函数2();
}
function 执行所有演示() {
printl('开始执行所有演示...');
演示获取H5值();
测试函数2();
演示公共数据操作();
printl('所有演示执行完毕');
}
function 执行H5演示() {
printl('开始执行H5值获取演示...');
演示获取H5值();
printl('H5值获取演示执行完毕');
}
function 执行公共数据演示() {
printl('开始执行公共数据演示...');
演示公共数据操作();
printl('公共数据演示执行完毕');
}
function 获取演示页面所有数据() {
printl('=== 开始获取演示页面所有数据 ===');
if (!webView) {
printl('WebView未设置,请先设置WebView引用');
return null;
}
var allData = {};
allData.input1 = getH5TextValue();
allData.dropdown = getH5DropdownValue();
allData.radio = getH5RadioValue();
allData.checkboxes = getH5CheckboxValue();
allData.selectedTasks = getH5TaskSelections();
var tasksInfoStr = getH5AllTasksInfo();
try {
allData.tasksInfo = JSON.parse(tasksInfoStr);
} catch (e) {
allData.tasksInfo = tasksInfoStr;
}
var interactionInfoStr = getH5InteractionInfo();
try {
allData.interactionInfo = JSON.parse(interactionInfoStr);
} catch (e) {
allData.interactionInfo = interactionInfoStr;
}
var allFormValuesStr = getAllH5FormValues();
try {
allData.allFormValues = JSON.parse(allFormValuesStr);
} catch (e) {
allData.allFormValues = allFormValuesStr;
}
publicData.set('演示页面数据', allData);
printl('=== 演示页面所有数据获取完成 ===');
printl('完整数据: ' + JSON.stringify(allData, null, 2));
return allData;
}
function getAllDemoPageData() {
return 获取演示页面所有数据();
}
function 执行获取演示数据() {
printl('开始执行获取演示页面数据...');
var allData = 获取演示页面所有数据();
printl('获取演示页面数据执行完毕');
return allData;
}
复制代码
欢迎光临 自动发帖软件 (http://www.fatiegongju.com/)
Powered by Discuz! X3.2