kingmo888
V2EX  ›  问与答

求教 QWebEngineView 加载 js, url 跳转后 js 不生效的问题。

  •  
  •   kingmo888 · Aug 12, 2019 · 2116 views
    This topic created in 2553 days ago, the information mentioned may be changed or developed.

    rt,类似一个商品列表页遍历功能,每个页面都会执行一样的 js。

    但大多数时候,只有在第一次执行。

    重构了 QWebEngineView,当有链接是新窗口打开的形式时,将会以 tab 形式打开新 url。此时,就会自动生效。但是,对于列表分页形式,因为不会打开新窗口,所以有时候 js 会生效(如果当次测试生效,在测试的时候人工点多少次分页都会生效),有时候无效。

    之前的时候,将插入 js 绑定到了 loadFinished 上,但是效果不佳。于是绑定了到 urlChanged, 执行方法是 '''

        with open(path, 'r', encoding='utf-8') as f:
    
            code = f.read()
    
            self.script.setSourceCode(code)
            
        self.profile.scripts().insert(self.script)
    

    '''

    好奇怪啊。相同的代码,在多次测试的时候就会出现不同的结果。完全无法理解。

    求解,万分感谢!

    1 replies    2019-08-12 09:43:43 +08:00
    kingmo888
        1
    kingmo888  
    OP
       Aug 12, 2019
    研究了半天,好奇怪。。。各种有时候启动有时候不启动。
    感觉跟视图是否完全加载也有关系,因为尝试在 loadFinished.connect(xxx)中打印日志,发现有时候不会打印。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:30 · PVG 16:30 · LAX 01:30 · JFK 04:30
    ♥ Do have faith in what you're doing.