是否有一个 URL 参数可以使 URL 在特定命名的浏览器窗口中打开
Posted
技术标签:
【中文标题】是否有一个 URL 参数可以使 URL 在特定命名的浏览器窗口中打开【英文标题】:Is there a URL parameter that will make the URL open in a specifically named browser window 【发布时间】:2012-07-12 15:49:54 【问题描述】:我有一个电子邮件摘要,每天都会发送给我网站的用户,其中包含指向网站内容的链接,以便他们可以轻松进入并开始通过电子邮件进行交互。问题是,如果他们点击了多个链接,他们将打开多个浏览器,非技术用户可能无法捕捉到这一点,最终不得不在完成后关闭一堆标签/浏览器网站。我希望在同一窗口/选项卡中打开电子邮件摘要中的所有链接。
我知道如果您有href
,您可以设置target=my_window
,链接将在该窗口中打开。我想知道是否可以使用 URL 参数来代替编辑 a
标记。
【问题讨论】:
请记住,用户也可能使用第三方电子邮件应用程序来查看电子邮件。其中大多数可能已经内置了网络浏览器,但有些不会。 【参考方案1】:没有。我不知道有任何浏览器(或其他用户代理)将任何特殊行为与链接查询字符串相关联。查询字符串供接收HTTP请求的服务器处理。
正如您在问题中所说,target
属性是用于控制(或至少建议)链接应在哪个窗口中打开的方法。
【讨论】:
我想通了,但我还是想确定一下。谢谢! Paul D. Waite,window.open();
方法活得很好。看看这个最awe-inspiring和这种方法在 Chrome(和 Mozilla)Google Lab Demo 上的广泛使用。干杯!
@arttronics:是的,那是非常正确——当我说target
是打开方式时特定窗口中的链接,我的意思是就 html 而言。即使是电子邮件通讯,我也会对使用 javascript 路线持谨慎态度,因为我不会依赖运行 javascript:
URL 的电子邮件客户端。如果您将 JavaScript 放在 onclick
属性中,则最好还是坚持使用 target
,除非您想更改窗口的功能。【参考方案2】:
你能用window.open
方法吗?
Reference:window.open(url, name, features, replace);
它允许浏览器窗口被命名,从而重用单击格式化为使用 window.open
语法的新链接时。
示例: link
状态更新:请注意,您可以搜索多个window.open(); Online Generators 来帮助构建打开窗口的外观。在所有浏览器中测试所需的外观很重要,因为每个浏览器中的地址栏呈现方式不同。
【讨论】:
【参考方案3】:简短的回答是否定的。您所说的这种行为是严格的客户端,由浏览器控制。运行在 Web 服务器上的应用程序负责对查询字符串做出反应。
您无法控制所发送电子邮件的模板吗?将目标添加到适当的锚点应该很简单。
【讨论】:
【参考方案4】:您可以使用 php 来捕获自定义 URL 参数。
假设您有如下链接: www.yoursite.com/somepage.php?title=这里有一些页面标题
URL 中的参数字符串以 ?something=somevalue 开头,可以与 & 符号链接(例如 ?something=somevalue&somethingelse=someothervalue)等。
然后您可以将此 PHP 广告到您的页面顶部:
<?php $title = $_GET['title']; ?>
然后为您的标题标签输入以下内容:
<title><?php echo $title; ?></title>
您可以为要传递到页面的每个参数添加另一个带有参数值的变量。但是对于您要执行的操作,上面的代码将起作用。
【讨论】:
“对于你想要做的事情,上面的代码会起作用”——如果我理解正确,OP 正试图确保电子邮件中的所有链接都在同一个浏览器中打开窗户。我不知道你的代码是如何实现这一点的。以上是关于是否有一个 URL 参数可以使 URL 在特定命名的浏览器窗口中打开的主要内容,如果未能解决你的问题,请参考以下文章