在同一网络视图中的 chrome 应用程序中打开来自网络视图的链接

恒星42

我正在尝试创建一个 chrome kiosk 应用程序,它将打开一个包含 web 视图中链接的网页,然后在同一个 web 视图中加载链接。但是,我正在使用的网页上的链接是,target="_blank"并且<webview>: A new window was blocked在单击它们时出现错误我在这里找到了一个解决方案,并尝试像这样实施它的建议:

chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create(
'window.html',
{ 'width': 1000, 'height': 1000 },
function(win) {
  win.contentWindow.onload = function() {
    var webview = win.contentWindow.document.querySelector('#webview');
    webview.addEventListener('newwindow', function(e) {
    chrome.app.window.create(e.targetUrl,window.open()
    });
  };
  }
 );
});

但是,我希望链接不是在浏览器中打开,而是在链接启动的同一个 web 视图中打开。

有什么方法可以捕获目标 URL,去掉它的target="_blank"属性,然后在原始 webview 中加载 URL?

恒星42

内容脚本中的事件侦听器将在newwindow触发事件时捕获 URL 捕获 URL 后,将 URL 设置为 webview 的源是一件简单的事情。

var webview = document.querySelector('#webview');
webview.addEventListener('newwindow', function (e) {
    //prevent the link from attempting to open a new window        
    e.preventDefault(); 
    webview.src = e.targetUrl;
});

由于此脚本不会打开任何新窗口,因此不必专门在应用程序的后台脚本中运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在同一网络中的多个节点中野生许多节点

来自分类Dev

同一网络中的Docker容器无法通信

来自分类Dev

同一网络中的Docker容器无法相互通信

来自分类Dev

通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

来自分类Dev

同一网络会话中的永久计数器

来自分类Dev

同一网络会话中的永久计数器

来自分类Dev

在同一网络中创建SQL Server 2008的客户端

来自分类Dev

不在同一网络中的两台服务器之间的scp

来自分类Dev

如何在同一网络中检测给定设备的IP

来自分类Dev

同一网络适配器上的静态和动态网络

来自分类Dev

在同一网络中运行两个DHCP服务器

来自分类Dev

Linux:检查是否在同一网络中

来自分类Dev

知道ip来自同一网络还是来自不同网络

来自分类Dev

在Sencha Touch中同一网络上的设备之间传输消息

来自分类Dev

连接到同一VPN是否意味着连接到同一网络?

来自分类Dev

托管同一网络时在本地网络中使用SSH

来自分类Dev

同一网络中的VM Azure和Web应用程序

来自分类Dev

无法访问同一网络中的计算机

来自分类Dev

同一网络中的nic之间的数据包转发(wifi / eth)

来自分类Dev

如何通过主机名访问同一网络中的主机?

来自分类Dev

SSH进入同一网络中的两台不同的计算机

来自分类Dev

远程打开计算机,但仍在同一网络上

来自分类Dev

在同一网络中的多个节点中野生许多节点

来自分类Dev

如何使两个接口在同一网络中使用同一网关?

来自分类Dev

如何从同一网络中的android deivice访问托管在localhost上的站点?

来自分类Dev

同一网络中多主机中的docker网络

来自分类Dev

在同一网络中无法访问 Ubuntu 中的 Http 服务器

来自分类Dev

无法通过以太网和无线连接到同一网络

来自分类Dev

是否可以使用 Google Fit REST API 在同一网络应用程序中聚合来自多个用户的健身数据?

Related 相关文章

  1. 1

    在同一网络中的多个节点中野生许多节点

  2. 2

    同一网络中的Docker容器无法通信

  3. 3

    同一网络中的Docker容器无法相互通信

  4. 4

    通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

  5. 5

    同一网络会话中的永久计数器

  6. 6

    同一网络会话中的永久计数器

  7. 7

    在同一网络中创建SQL Server 2008的客户端

  8. 8

    不在同一网络中的两台服务器之间的scp

  9. 9

    如何在同一网络中检测给定设备的IP

  10. 10

    同一网络适配器上的静态和动态网络

  11. 11

    在同一网络中运行两个DHCP服务器

  12. 12

    Linux:检查是否在同一网络中

  13. 13

    知道ip来自同一网络还是来自不同网络

  14. 14

    在Sencha Touch中同一网络上的设备之间传输消息

  15. 15

    连接到同一VPN是否意味着连接到同一网络?

  16. 16

    托管同一网络时在本地网络中使用SSH

  17. 17

    同一网络中的VM Azure和Web应用程序

  18. 18

    无法访问同一网络中的计算机

  19. 19

    同一网络中的nic之间的数据包转发(wifi / eth)

  20. 20

    如何通过主机名访问同一网络中的主机?

  21. 21

    SSH进入同一网络中的两台不同的计算机

  22. 22

    远程打开计算机,但仍在同一网络上

  23. 23

    在同一网络中的多个节点中野生许多节点

  24. 24

    如何使两个接口在同一网络中使用同一网关?

  25. 25

    如何从同一网络中的android deivice访问托管在localhost上的站点?

  26. 26

    同一网络中多主机中的docker网络

  27. 27

    在同一网络中无法访问 Ubuntu 中的 Http 服务器

  28. 28

    无法通过以太网和无线连接到同一网络

  29. 29

    是否可以使用 Google Fit REST API 在同一网络应用程序中聚合来自多个用户的健身数据?

热门标签

归档