1
屏蔽

目前,我有以下的JavaScript函数,将采取目前的URL,并将其拼接到另一个网站的URL将其路由到适当的反馈组:URL在JavaScript

function sendFeedback() { 
    url = window.location.href; 
    newwin = window.open('http://www.anothersite.com/home/feedback/?s=' + url, 'Feedback'); 
} 

不知道这是否是正确的术语,但我想隐藏window.open语句中的URL以使用当前窗口中的URL。

我该如何屏蔽原始JavaScript中的window.open网址?

+0

请定义“掩码”。 – 2010-10-18 23:05:03

+0

@Assaf - 我不想在新的浏览器地址栏中显示“http://www.anothersite.com/home/feedback/?s=www.mysite.com”,我想显示“www.mysite.com”。 – 2010-10-18 23:08:17

+1

据我所知,你不能操纵浏览器窗​​口的地址栏。 – 2010-10-18 23:23:32

回答

4

事情可以做:

1面膜在一个HTML框架的外部网站从您的网站上的文档中。 (例如www.mysite.com/shortUrl/

2发送Location HTTP标头(实际URL最终会被显示)

请记住,浏览器各尽其能展现真实地址由于钓鱼担忧。

+0

感谢您的输入。我一直在寻找一个JavaScript的快速和肮脏的解决方案,但它听起来像更多的工作,而不是我真的想把它放进去。 – 2010-10-19 01:24:00

0

我不会使用JavaScript,如果我想掩盖网址,甚至认为它可以使用JavaScript。在这种情况下你不会得到太多好处。

理由很简单:

  • 的JavaScript/jQuery的=功能属于客户端(browswer /你的PC/DOM)

  • 链接,URL,HTTP,和标头=功能属于到Apache。

Apache始终处于客户端的顶层。每当链接被激发到SampeLink.html时,Apache就会唤醒并读取文件,但在JavaScript可以声明它们之前链接/ url已经拥有。所以,如果你试图在你的JavaScript脚本中操纵链接,即使它工作但很弱,也是毫无意义的。

我会告诉你这个令人敬畏的方法:.htaccess,你会惊讶它有多强大。如果.htaccess出现在SampleLink.html的父文件夹中,Apache将拒绝DOM引擎(您的浏览器)读取文件,直到Apache完成读取.htaccess。

在您的场景中,.htaccess可以通过重写链接并向DOM引擎发送“诱饵”链接,同时将原始链接/网址保留在幕后,为您做一些工作。如果访问者试图破解该应用或您关心的任何内容,则访问者将达到404页。

这有点复杂,但它永远不会让我失望。我用这个作为我的“圣经”http://corz.org/serv/tricks/htaccess2.php