javascript - setTimeout 函数是否以某种方式与使用在网页上运行 JavaScript 的 iOS 快捷方式一起工作?
问题描述
我正在尝试使用在网页上运行 JavaScript 在连接到其 WiFi 时配置路由器在我的 iPad 上创建 iOS 快捷方式。当我在执行快捷方式之前选择路由器配置网页的特定部分时,这些功能会单独工作。但我需要的是通过在一个脚本中执行所有功能来更改路由器的设置。当我调用 192.168.0.1 时,第一个函数用于登录,下一个函数用于更改网络选项,下一个用于更改安全选项等。为此,我显然需要 setTimeout() 有时间选择不同的页面菜单。出于某种原因,setTimeout() 在 Safari 中的 iOS 上并不真正起作用。这似乎是一个已知问题,但我找不到当前 iOS 版本的任何解决方案或解决方法。
我在如下条件下尝试了 setTimeout()、setInterval() 和函数的执行:
var starttime = 0;
var now = new Date().getTime();
if((now - starttime) > 2000) {...}
这是一个代码片段:
function defaultLogin(){
document.getElementByID('username').value = 'admin';
document.getElementByID('pcPassword').value = 'admin';
}
function clickBtn(){
document.getElementByID('loginBtn').click();
}
function changeLoginData{
window.frames['frame1'].contentDocument.documentElement.getElementsByClassName('T plus')[9].firstElementChildclick();
...
}
defaultLogin();
clickBtn();
setTimeout(changeLoginData, 1000);
completion();
我没有收到任何错误,但函数 changeLoginData() 似乎在登录之前执行,这显然是没有意义的,因为在那个阶段还没有加载元素 ('T plus')[9]。
我错过了什么?
先感谢您!任何帮助深表感谢。
解决方案
推荐阅读
- javascript - 错误:对象作为 React 子对象无效(发现:对象与键 {$$typeof, type, compare, WrappedComponent, displayName})
- javascript - React 不会在自定义挂钩中的状态更新时重新渲染所有组件
- odoo - Odoo v12 安装问题
- sql - 尝试从触发器插入表时,获取表不存在错误
- caching - 如何通过java查询点燃缓存?
- oauth-2.0 - 通用身份验证在授权 jupyterHub 上使用 HTTP/500 响应
- excel - Excel:使用 UDF 时出现单个 #VALUE 错误
- java - Kotlin 中的 getDeclaredMethod?
- python - 如何将模型字段打印为 json 输出?
- nestjs - nestjs 在运行时替换插件系统的服务