gpt4 book ai didi

javascript - 运行 URL 中的 JS 代码后保持页面处于事件状态

转载 作者:行者123 更新时间:2023-12-03 06:23:49 26 4
gpt4 key购买 nike

我使用 DCEF3,它是 Chromium 的 Delphi 包装器。我在我的应用程序上运行大量 JS 代码来与页面交互,如下例所示:

document.getElementById('name').value = 'Test';

为此,我调用 Chromium 的“load”方法并在 URL 字段中运行以下代码:

javascript:document.getElementById('name').value = 'Test';

这与我打开 Chrome 并将上面的代码粘贴到 URL 字段中是一样的。它会起作用,但问题是在我运行命令后,浏览器将当前页面替换为内容“测试”的空白页面。

我能找到避免此问题的唯一方法,即填充元素并使页面保持事件状态,就是在同一 URL 中运行附加的“焦点”命令,如下所示:

javascript:document.getElementById('name').value = 'Test';
document.getElementById('name').focus();

附加的“焦点”方法似乎强制 Chrome 保持当前页面处于事件状态,而不是将其替换为空白页面。

这种做法正确吗?有更好的方法来完成这个任务吗?

谢谢!

最佳答案

无需调用焦点。

看起来现在不可能通过仅在最后返回 false 来禁用重定向。

不过,您可以用 void(0) 替换焦点;

javascript:document.getElementById('name').value = 'Test'; void(0)

void(0) 是流行的习惯用法,表示链接未指向任何位置。现在可以看到 et,但它仍然可以在浏览器 URL 中工作。

顺便说一下,大多数浏览器都禁用 URL 中的“javascript:”。

关于javascript - 运行 URL 中的 JS 代码后保持页面处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38744466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com