是否可以在javascript中复制、粘贴、打开新窗口?

发布于 2024-09-01 06:42:07 字数 1011 浏览 4 评论 0原文

目前,要从内部网访问外部链接,我们必须复制链接,并将链接粘贴到新窗口中。我们有什么办法可以通过 javascript 的单个函数来实现这一点吗?

谢谢

更新: 当用户从外网登录时,url 会发生变化。这就是我们需要编码的内容。我认为我从服务器端和客户端应用了两次(此代码不可编辑):

  s=s.replace(/location.assign\(([^;]*)\)/g,"location.assign(alter_url($1))")
  s=s.replace(/location.replace\(([^;]*)\)/g,"location.replace(alter_url($1))")
  if(s.match(/location\s*=\s*([^;]*)(;?)/)!=null&&s.match(/\.open\(.+,.+,.*location\s*=.+\)/)==null)
   s=s.replace(/location\s*=\s*([^;]*)(;?)/g,"location=alter_url($1)$2")
  s=s.replace(/location\.href\s*=\s*([^;]*)(;?)/g,"location.href=alter_url($1)$2")
  s=s.replace(/window\.open\(([^,]*)(,.*)?\)/g,"window.open(alter_url($1)$2)")
  s=s.replace(/\.src\s*=\s*([^;]*)(;?)/g,".src=alter_url($1)$2")
  s=s.replace(/\.action\s*=\s*([^;]*)(;?)/g,".action=alter_url($1)$2")
  s=s.replace(/\.innerHTML\s*=\s*([^;]*)(;?)/g,".innerHTML=alter_html($1)$2")
  s=s.replace(/\.outerHTML\s*=\s*([^;]*)(;?)/g,".outerHTML=alter_html($1)$2")

实际上,我越看这个,它就越不切实际。

At the moment to get to an external link from our intranet, we have to copy the link, and paste the link into a new window. Is there any way we can achieve this in a single function in javascript?

Thanks

UPDATE:
When users login from outside the network, urls are changed. This is what we need to code for. I think I the following is applied twice, from server side and client side (this code is not editable):

  s=s.replace(/location.assign\(([^;]*)\)/g,"location.assign(alter_url($1))")
  s=s.replace(/location.replace\(([^;]*)\)/g,"location.replace(alter_url($1))")
  if(s.match(/location\s*=\s*([^;]*)(;?)/)!=null&&s.match(/\.open\(.+,.+,.*location\s*=.+\)/)==null)
   s=s.replace(/location\s*=\s*([^;]*)(;?)/g,"location=alter_url($1)$2")
  s=s.replace(/location\.href\s*=\s*([^;]*)(;?)/g,"location.href=alter_url($1)$2")
  s=s.replace(/window\.open\(([^,]*)(,.*)?\)/g,"window.open(alter_url($1)$2)")
  s=s.replace(/\.src\s*=\s*([^;]*)(;?)/g,".src=alter_url($1)$2")
  s=s.replace(/\.action\s*=\s*([^;]*)(;?)/g,".action=alter_url($1)$2")
  s=s.replace(/\.innerHTML\s*=\s*([^;]*)(;?)/g,".innerHTML=alter_html($1)$2")
  s=s.replace(/\.outerHTML\s*=\s*([^;]*)(;?)/g,".outerHTML=alter_html($1)$2")

Actually, the more I look at this, the more unrealistic it's becoming..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浪推晚风 2024-09-08 06:42:07

右键单击并选择“在新窗口中打开”不起作用?因为如果没有,我也没有看到 Javascript 解决方法有效。但是:

你可以很容易地用 Javascript 打开一个带有特定 URL(例如链接)的新窗口:

window.open("http://stackoverflow.com");

并且有 获取页面中选择的文本的方法,以将其输入其中。所有这些都可以打包到 bookmarklet 中,以便操作变为“选择文本,单击书签工具栏上的链接”。

但如果“在新窗口中打开”不起作用,我也不希望它起作用。

Right-clicking and choosing "Open in new window" doesn't work? Because if not, I'm not seeing a Javascript workaround working either. But:

You can open a new window with a specific URL (e.g., link) in Javascript easily enough:

window.open("http://stackoverflow.com");

And there are ways of getting the text that's selected in a page, to feed into that. All of which can be wrapped up into a bookmarklet so that the action becomes "select the text, click a link on the bookmark toolbar".

But if "Open in new window" doesn't work, I wouldn't expect that to work either.

时光倒影 2024-09-08 06:42:07

您可以使用 window.open 在新窗口中打开链接。事实上,您可以使用书签将网站上每个链接的目标设置为 _blank,以防您无法访问应用程序源代码。

顺便说一句,如果您在打开链接时按住 Shift 键,它将在新窗口中打开。

You can use the window.open to open the links on a new window. In fact, you could use a bookmarklet to set the target to _blank on every link on the site, in case you can't access the application source code.

BTW, if you hold the Shift key when opening the link it will open on a new window.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文