延期获胜'我没有正确提交表单,但控制台会的
Extension won't submit form correctly, but console will
我正在尝试创建一个扩展,一旦它检测到我没有登录,就会将我登录到网站-忽略我的background.js
现在没有这样做的事实,这不是问题所在。-我试图登录的网站已经通过我的Chrome密码在字段中填写了我的用户名和密码。脚本所要做的就是单击登录按钮。
从本质上讲,它似乎是有效的,除了它没有登录。每当脚本试图登录时,我都会收到我的用户名/密码不正确的消息。当我通过控制台执行脚本而不是通过background.js注入脚本时,它可以完美地工作。
background.js
chrome.tabs.onUpdated.addListener(function(id, info, tab){
if (tab.status !== "complete"){
return;
}
chrome.tabs.executeScript(null, {"file": "login.js"});
});
login.js(表单id为loginForm
)
document.getElementById("loginForm").submit();
感谢您的任何帮助。谢谢
我不知道为什么用Chrome保存的帐户信息提交表单不起作用,但我做了一个变通办法,让用户在使用扩展之前保存他的帐户信息。
popup.html
<!DOCTYPE html>
<html>
<head><title>Such Activity Options</title></head>
<body>
Username
<label>
<input type="text" id="username">
</label>
<br>
Password
<label>
<input type="password" id="password">
</label>
<div id="status"></div>
<button id="save">Save</button>
<script src="options.js"></script>
</body>
</html>
options.js
function saveAccount() {
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
chrome.storage.sync.set({
userName: username,
passWord: password
}
}
然后注入这个脚本来读取它们,并在提交之前将它们设置为表单的值
function clickLogin() {
document.getElementById("loginForm").submit();
}
function enterLoginInfo() {
chrome.storage.sync.get({
userName: 'username',
passWord: 'password'
}, function(items) {
document.getElementById('usernameLogin').value = items.userName;
document.getElementById('passwordLogin').value = items.passWord;
});
delay = Math.floor((Math.random() * (360000)) + 30000);
setTimeout(function(){clickLogin()}, delay);
}
enterLoginInfo();
相关文章:
- HTML表单提交时未执行外部函数
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将图像上传ajax与表单提交ajax相结合
- Javascript无法处理表单提交
- 如何在我的情况下禁用表单提交
- 加载后的页面与ajax表单提交不起作用
- angularjs-控制器在表单提交时未调用
- 禁用带有字符白名单的表单提交
- 如何使用Google Analytics跟踪表单提交
- 使用javascript将表单提交到iframe目标中
- e.preventDefault在表单提交时被忽略
- AngularJS JQuery Ajax表单提交等效
- JavaScript表单提交帮助
- PHP表单提交和重定向
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- setTimeOut AFTER jQuery表单提交
- 从函数中选择要触发表单提交的正确元素
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 表单提交问题,如何在我的URL末尾获得ID的值
- Javascript使用Confirm取消表单提交