iframe页面js鼠标右键刷新父页面不变
时间: 2023-08-10 09:55:53 浏览: 120
如果想在iframe页面中的js代码中实现鼠标右键父页面而不刷新自的功能,你可以window.parent.location.reload()`来刷新父页面。是示例代码:
```javascript
document('contextmenu', function(e) {
e();
if (e.target.tagName.toLowerCase() 'iframe') {
window.parent.location.reload }
});
```
这段代码会在页面中监听右键点击事件,如果点击目标元素是iframe,则通过`window.parent.location()`来刷新父页面。使用`e.preventDefault()`可以阻止浏览器的右键菜单弹出。
相关问题
载入iframe页面js鼠标右键刷新
你可以使用以下代码来在鼠标右键点击时刷新iframe页面:
```javascript
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
if (e.target.tagName.toLowerCase() === 'iframe') {
e.target.contentWindow.location.reload();
}
});
```
这段代码会监听整个文档的右键点击事件,当点击目标元素为iframe时,会刷新该iframe页面。使用`e.preventDefault()`可以阻止浏览器默认的右键菜单弹出。
iframe关闭子页面时不刷新父页面
当你在子页面中关闭 iframe 时,如果不想刷新父页面,可以使用以下代码:
```javascript
parent.layer.closeAll(); // 关闭父页面所有弹出层
```
上述代码会关闭父页面中所有使用 layer 组件打开的弹出层,如果你只想关闭某个特定的弹出层,可以在 closeAll() 方法中指定对应的弹出层索引,例如:
```javascript
parent.layer.closeAll(1); // 关闭父页面中索引为 1 的弹出层
```
注意,这里的 parent 是指父页面的 window 对象,因此需要在子页面中使用。此外,如果你在 iframe 中使用了 jQuery,也可以使用以下代码关闭弹出层:
```javascript
parent.$(".layui-layer-shade").remove(); // 移除遮罩层
parent.$(".layui-layer").remove(); // 移除弹出层
```
上述代码会直接从 DOM 中移除遮罩层和弹出层,效果与调用 layer.closeAll() 方法相同。
阅读全文