Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;“未定义”;有时出现在我的ASP.NET应用程序的URL中(某种程度上与google相关?)_Javascript_Asp.net_Url_Undefined - Fatal编程技术网

Javascript &引用;“未定义”;有时出现在我的ASP.NET应用程序的URL中(某种程度上与google相关?)

Javascript &引用;“未定义”;有时出现在我的ASP.NET应用程序的URL中(某种程度上与google相关?),javascript,asp.net,url,undefined,Javascript,Asp.net,Url,Undefined,一些用户在使用我的web应用程序时反复遇到一个非常神秘的问题 在使用过程中,他们会单击一个按钮或链接,将他们带到另一个页面,但会出现“未找到页面”错误,因为URL类似于: 未定义 我想这可能是我的应用程序中的一个javascript bug:通过选择一个页面名称(可能带有一些参数)进行重定向,其中一个值不好,导致页面名称=“undefined”。但是在我的应用程序中没有这样的代码,而且这种代码出现在许多不同的页面上,看起来是随机的 有一件事似乎更容易发生,那就是用户最初是通过点击gmail电子邮

一些用户在使用我的web应用程序时反复遇到一个非常神秘的问题

在使用过程中,他们会单击一个按钮或链接,将他们带到另一个页面,但会出现“未找到页面”错误,因为URL类似于:

未定义

我想这可能是我的应用程序中的一个javascript bug:通过选择一个页面名称(可能带有一些参数)进行重定向,其中一个值不好,导致页面名称=“undefined”。但是在我的应用程序中没有这样的代码,而且这种代码出现在许多不同的页面上,看起来是随机的

有一件事似乎更容易发生,那就是用户最初是通过点击gmail电子邮件中的链接登录的。但一位将链接URL剪切粘贴到浏览器窗口的用户表示,这种情况仍然存在。谷歌搜索揭示了一些暗示,有某种谷歌重定向或缓存正在幕后进行

有什么想法吗

编辑:
我没有收到任何熟悉gmail链接等工作原理的人的回复,有人知道谷歌专家“闲逛”的原因吗

编辑2:

奖励top Response提供有用的信息和临时解决方案,但仍对问题的真正解决方案感兴趣,因此不接受解决方案。

我相信你对gmail在链接方面的做法是正确的。请参见下面的gmail图片:

非标准头字段通常通过在字段名前加X来标记-

它的行为可能像。。。哦,谷歌,检查一切

为了阻止google search跟踪我的点击,我必须创建一个用户脚本来重写其中一个函数:

rwt = function(){};
也许你可以在gmail上试试类似的东西


什么是rwt

rwt()
是google search中的一个javascript函数,它重写链接以跟踪您访问过的站点

例如,搜索“greasemonkey”的第一个结果就是mozilla插件页面。点击它就打开了

https://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCUQFjAA&url=https%3A%2F%2Faddons.mozilla.org%2Fpt-BR%2Firefox%2插件%2Fgreasemonkey%2F&ei=iWNtUIXjIoyQ8wTxv4DQAQ&usg=AFQjCNEO9EJcHp9rAmKyD_XZF2Bt6hs_YQ&sig2=P19xVUsD-Q1G_9iubp3pq

然后重定向到

https://addons.mozilla.org/pt-BR/firefox/addon/greasemonkey/

上面的图片和
rwt()
案例只是告诉你,gmail很有可能正在改变链接,因此这可能与你的问题有关


既然你在gmail方面无能为力,也许你可以通过重定向
http://www.correctwebsitename.com/undefined
http://www.correctwebsitename.com
或您希望用户看到的任何其他页面

因此,无论是来自gmail还是任何其他推荐人,每次客户登陆
http://www.correctwebsitename.com/undefined
将他重定向到另一页


也许我能想办法把他们送回他们想要的页面 来自

ASP

if not request.UrlReferrer is nothing then
    response.redirect (request.UrlReferrer.tostring)
end if
JS(要使其工作,您必须实际创建一个名为
undefined
的页面)


请记住,如果用户直接键入url或使用收藏夹中的链接,则不会有任何推荐人

我建议您在应用程序中检查以下内容

除了你自己的代码外,你的应用程序中还有其他代码吗

第三方应用程序可能会注入代码,比如ex“AddThis”有时会在url中添加一个额外的#参数,在您的情况下,很明显javascript试图使用location.href作为“undefined”是许多js开发人员都会遇到的问题

通过添加一个#将有助于进行跨站点通信,一些bug也可能会在这里引起问题

在代码中完整搜索“location.href”,看看您是否在任何地方使用过它

有时浏览器上的第三方插件也可能导致此问题

希望这些能帮助你缩小你的问题范围


如果您无法在任何地方找到问题所在,我建议您在Web服务器上覆盖404功能,并使用referer实现解决方案

@Trinh正如我所说,似乎没有与此问题相关的特定代码。(我不能给你应用程序的全部源代码,我不拥有它)。很难告诉你发生了什么,请尝试扫描所有代码,找到类似于
window.location.href=somevariable
的内容,并确保somevariable没有未定义……谢谢@Trinh,但正如我所说的,我已经找到了。代码中没有使用javascript创建目标URL的地方。不管怎样,谢谢。这个网站是公开的吗?我们能看到问题吗?可能的重复听起来很相关,但我不太明白。gmail是否因为XSS问题而屏蔽了你的网站?什么是rwt?如果你的解决方案可能适合我的情况,我会怎么做?用户脚本适用于您自己的浏览器,但我如何为整个网站执行类似操作?重定向
http://www.correctwebsitename.com/undefined
某个地方听起来是个不错的临时解决办法(虽然它发生在各种各样的地方,例如:注册过程的第2步、报告页面等,所以也许我可以想出如何将它们发送回它们来自的页面,然后用户会认为单击不起作用,而不是认为它是一个“错误”。再次单击通常可以正常工作。
if (window.location.href.toLowerCase().indexOf('undefined') > -1) {
    // this works
    window.location.href = document.referrer;

    // this works too (uncomment to enable)
    // history.back();
}