0

在我的 js 代码中,单击按钮时,我想在新选项卡中打开站点并滚动到选择器的位置,然后突出显示它。

个人而言,我能够实现它,但是当我尝试将它和平在一起时,选择器没有突出显示

以下是在网站控制台中运行的片段

网站:- https://careers.mestel.com/

#go to website
window.open('https://careers.mestel.com/');

#Scroll to the view where selector is present
document.querySelector('ppc-content[key="footer-mestelFooterContent11"]').scrollIntoView();

# Highlight the selector
css_highlight = document.querySelector('ppc-content[key="footer-mestelFooterContent11"]')
css_highlight.style.outline = '#FDFF47 solid 5px'

只有 window.open 动作被执行,其他动作没有被执行。请建议如何在 window.open 之后注入剩余的 js 代码。最终的预期结果将如下图所示

在此处输入图像描述

4

1 回答 1

0

这是因为代码将继续在当前运行的窗口中执行(不是新打开的窗口)。您可以通过这种方式在新窗口中注入新代码(不是唯一方式):

var newWindow = window.open('https://careers.mestel.com/');
var newScript = document.createElement('script');

function injectScript() {
    // The code to inject
}

newScript.innerHTML = injectScript.toString() + ';';
newWindow.document.body.appendChild(theScript);
于 2020-07-09T08:19:20.370 回答