我正在尝试创建一个遵循此过程的书签:
这是我到目前为止所写的:
if (!($ = window.jQuery)) {
// Inject jQuery to make life easier
script = document.createElement( 'script' );
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=SocialCredentials;
document.body.appendChild(script);
}
else {
SocialCredentials();
}
function SocialCredentials(){
$('input:submit').trigger('click');
window.open('http://www.facebook.com', '_blank');
}
按钮提交点击会导致页面处理并清除用户的凭据,以便他们可以访问社交网站。
上面的代码有效,但我想在打开新的社交媒体页面之前确保页面已完成加载。
我是否需要添加某种wait()
功能?如果我确实添加了一个wait方法,它会杀掉JavaScript并且不会打开新窗口吗?我对JavaScript很新,所以我不熟悉这些类型的机制。
编辑:我应该注意,我没有访问或控制这个书签的页面,所以我不能改变它的流程。我想要做的是更多地帮助另一个部门作为一个快速解决方案,直到他们可以在他们的结束做出改变。
Edit2:更新了流程。
答案 0 :(得分:2)
如果页面重新加载,则当前在该页面上运行的任何代码(包括来自书签的代码)都将被终止并删除。传统上,书签小程序代码在页面加载后停止工作,用户再次点击它。
我知道有三种解决方法。
A。)将加载页面的进程更改为使用AJAX。
B。)更改加载页面的进程而不是打开一个新窗口,然后使用JavaScript来操作新窗口。
C。)在触发页面加载之前,打开一个新的子窗口并在其中插入代码。然后,该子窗口中的代码可以监视其父级,并在父级重新加载后对父级执行操作。