JavaScript 书签;单击按钮,重新加载页面,然后打开页面

标签 javascript bookmarklet

我正在尝试创建一个遵循此过程的书签:

  1. 在任意页面上,点击小书签
  2. 加载特定页面。
  3. 触发输入按钮,导致页面重新加载
  4. 重新加载后;打开一个新页面;在本例中是社交媒体页面。

这是我到目前为止所写的内容:

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()函数吗?如果我添加一个等待方法,它会终止 JavaScript 并且不打开新窗口吗?我对 JavaScript 相当陌生,所以我不熟悉这些类型的机制。

编辑:我应该注意,我无权访问或控制此书签将在其上工作的页面,因此我无法更改它的流程。我想做的更多的是为另一个部门提供帮助,作为快速解决方案,直到他们能够做出改变为止。

Edit2:更新了流程。

最佳答案

如果页面重新加载,当前在该页面上运行的任何代码(包括小书签中的代码)都会结束并删除。传统上,小书签代码在页面加载并且用户再次单击它后停止工作。

据我所知,有三种解决方法。

A.) 更改加载页面的过程以改为使用 AJAX。

B.) 更改加载页面的过程以打开一个新窗口,然后使用 JavaScript 操作新窗口。

C.) 在触发页面加载之前,打开一个新的子窗口并向其中插入代码。然后,即使父窗口重新加载,该子窗口中的代码也可以监视其父窗口并对父窗口执行操作。

关于JavaScript 书签;单击按钮,重新加载页面,然后打开页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16703056/

相关文章:

javascript - 为什么数字验证规则在 antd 中不起作用

javascript - 如何遍历具有数组的对象并对值求和?

javascript - 我可以使用它来引用委托(delegate)元素的选择器吗?

javascript - Tumblr 书签 javascript 中的 tstbklt() 有什么作用?

javascript - 自动刷新并查找页面上文本的书签?

javascript - 在 vb.net 中获取确认值

javascript - 我只想让我的音频 mp3 文件播放一次,但没有发生

javascript - 如何使用 jQuery 在有换行符的文本周围添加跨度换行?

javascript - 有没有办法自动将 Greasemonkey 脚本转换为小书签?

javascript - 识别并提取图像的标题/说明(数据剪贴Pinterest)