zoukankan      html  css  js  c++  java
  • jeesite框架前端 tabPage页签刷新功能。

    js主动刷新当前页签的js代码
    原本想找一下jeesite有没有主动刷新当前页面的内置方法。
    官方文档找了一大堆,找都找不到,也可能我这个需求比较少人需要。
    tab标签页有一个右键刷新页签功能

    查看编译后的代码,发现可以用前端编译后的源码

    $('.active .refresher').click() 

    这个js脚本来调用官方内置的刷新功能。

    但是这个脚本存在问题,只有第一次才会触发,再操作打开列表或表单界面后,这个方法就会失效。

    浏览器调试发现,后面几次获取 $('.active .refresher') 元素都是空的,获取不到。

     
    由于前段不是很熟悉,也没前段配合,想了老半天,最后发现
    官方函数,js.getCurrentTabPage(currentTabCallback);  回调参数是iframe的contentWindow对象,
    就想到了iframe的刷新功能。
    下面是刷新当前页签的js代码。测试可以正常使用。
    存在一个问题,如果是查询列表页面,调用下面js会造成查询条件丢失。
    js.getCurrentTabPage(function(contentWindow){
    //重新加载iframe窗口 contentWindow.location.reload(true); });
    搞定这个问题,然后的当前页刷新功能就都可以实现了。
    喝杯水吹个风的过程中,想到个问题。
    既然这个前端框架是使用多个iframe在一个界面中,那只有第一次进入界面才能获取到$('.active .refresher')选择器对应元素的,操作界面一段时间后就获取不到的问题,就可以解释了通了。
    浏览器控制台调式。(第一次刷新页面,可以获取到html元素,操作一段时间后,需要使用 $(选择器,window.parent.document).html() 这个来获取文档内容。
    所以,上面刷新当前页签的方法也可以改成下面的刷新代码(调用内置js脚本刷新页面,其实和上面代码一个样。)
    $('.active .refresher',window.parent.document).click() 
  • 相关阅读:
    [LeetCode] 1218. Longest Arithmetic Subsequence of Given Difference 最长定差子序列
    [LeetCode] 1217. Minimum Cost to Move Chips to The Same Position 玩筹码
    [LeetCode] 1209. Remove All Adjacent Duplicates in String II 移除字符串中所有相邻的重复字符之二
    [.Net Core] Visual Studio for Mac Add Client Side Library
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
  • 原文地址:https://www.cnblogs.com/gne-hwz/p/11310975.html
Copyright © 2011-2022 走看看