打开新选项卡时,用Javascript刷新当前打开的选项卡
Refresh currently open tab with Javascript when a new tab is opened
是否可以刷新当前打开的选项卡,当一个新的选项卡是通过点击第一个选项卡中的链接打开?基本上,最终的结果是这样的:第一个标签被打开,在第一个标签中打开的页面上的链接被点击(用鼠标中键或类似的东西,只是为了让它在第二个标签中打开),被点击的链接在第二个标签中打开,然后第一个标签自动刷新。我希望我的解释可以理解。注意:我不是在设计我自己的网站,我想为Greasemonkey网站做一个插件。
让我们假设你的页面上有这个链接:
<a href="http://server.com/url-to-second-tab" target="_new">Link which opens new tab and refreshes current one</a>
在js脚本你添加这个(假设你正在使用jQuery,如你所说):
$(document).ready(function(){
$('body').on('click','a',function(e){
e.preventDefault()
// Open new tab - in old browsers, it opens a popup window
window.open($(this).attr('href'), '_blank');
// reload current page
location.reload();
})
})
请在所有浏览器中测试,因为在某些浏览器中它可能会以弹出窗口而不是新选项卡的形式打开链接。
作为一个快速测试,在Chrome上打开F12开发工具,并在控制台中编写:
window.open('https://google.com', '_blank');location.reload();
是的。体方法。
声明你的窗口:
w = window.open("yourUrl", "MYtest", "width=700, height=500");
在你的函数中你可以用document访问。体方法:
html = "I Append my new html";
$(w.document.body).html(html);
你需要这样做(jquery代码里面):
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Title</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
</head>
<body>
<a id="myLink" href="http://www.google.com">Click me</a>
<div id="toUpdate">Not updated</div>
</body>
<script>
$(function() {
$("#myLink").on("click", function(event) {
event.preventDefault();
window.open(event.target.href, '_blank');
$("#toUpdate").text("Go on google");
}).on("mousedown", function(event) {
event.preventDefault();
if (event.which === 2)
$("#toUpdate").text("Go on google");
});
});
</script>
</html>
编辑添加Firefox支持
相关文章:
- 如何取消选择所选选项并将JqueryMobile中选择的值刷新为1st
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- AngularJS:点击选项卡刷新视图中的数据
- Selectbox选项在页面刷新jsp后保持选中状态
- Jquery选择菜单选项在页面刷新时失败
- 如何在不刷新页面的情况下每次单击一组选项卡时刷新视图内容窗格
- 如何自动刷新 GWT 选项卡面板中的各个选项卡
- 如何记住提交/刷新后使用的最后一个选项卡
- 页面刷新后,所选选项卡处于非活动状态
- 当我点击浏览器返回选项时,阻止在php上刷新页面
- 如何刷新'选项'ko多选组件中的绑定
- 引导程序3:返回页面刷新的下拉选项卡
- 如何在刷新后激活菜单选项卡
- 谷歌地图没有在标签2中和标签3中正确加载.如何创建刷新选项卡
- 在页面刷新时恢复下拉选择的选项
- Javascript 或 angularjs 在刷新之间延迟浏览器关闭或选项卡关闭
- Firefox DevTools:选项卡和如何在页面重新加载/刷新后保持调试器文件打开?(停止自动关闭)
- 在 AngularJS 中,用于选择不同控制器的选项 - 如何刷新
- 如何根据laravel中选择的选项刷新页面
- jQuery Datepicker-根据所选选项刷新可选择的天数