2013-06-24 26 views
0
失败

我已经使用的onclick事件处理一段时间,使我从一个页面传递一个简单的字母数字字符串到页面网站内的数据。的OnClick在锚标记用来传递通过搜索字符串在IE8

一个例子HTML链接是:

<a href="dir/newapge.html" onclick="idemo('dir/newpage.html'); return false;"> 

作为的onclick返回false它会导致浏览器忽略HREF ...这是那里的搜索引擎找到。

我idemo功能只是将标识的URL作为查询字符串如下:

function idemo(whereto) 
{ 
    location.href = whereto + "?" + escape(my_id_is); 
} 

变量my_id_is已经申报,并以这个如“身份识别码”之前设置一个简单的字母数字字符串。它显示在网页上,调试alert()的调用已确认在调用idemo()时,my_id_is正确地保存了预期的字符串。

我的问题是,随着IE8经过编号的新页面的这个非常简单的方法并不总是有效。有时候,尽管idemo调用正确的搜索字符串构造正确的URL,IE8中显示的页面不包含搜索字符串...就好像它已经恢复为使用锚点标签href值。

因此,例如,而不是显示的页面“DIR/newpage.html?身份识别码”它只是显示“DIR/newpage.html” ......记,甚至没有问号字符。

我的代码工作了IE(我相信)的早期版本和适用于Firefox浏览器。

我想我的问题归结为...是否可以通过将location.href设置为包含来自锚标记onclick事件处理程序中的查询字符串的URL来在网页之间传递数据,如果可以的话什么原因为什么IE8会有问题呢?

回答

0

这是那里的搜索引擎找到。

您不应该为搜索引擎和用户制作不同的网站。 更好的爬虫(谷歌为例)努力工作,以检测这种欺骗的,如果发现将重罚你..

不应该有什么不妥通过location.href传递信息

+0

您好,感谢为你的答案。只是要提到,没有搜索引擎的deciet。这只是一种通过搜索字符串在我的网站上的页面之间传递数据的方法。我有兴趣找到更好的方法来做同样的事情。过去我可能会使用几年前的框架,然后当它们过时时,我改为使用搜索字符串。它看起来很简单,它的工作,似乎仍然适用于除IE8以外的所有内容。问候,马克 – Mark

+0

我放弃了使用onClick传递我的网站之间的网页之间的通知。信息很简单,只是一个会员Id。哦,帧的好日子? 我有点担心,我的呼救唯一的反应是,我试图欺骗搜索引擎(我不是)一个建议。然而,这最终是一个非常有用的回应。如果“华夫饼干”认为我在做什么,那么也许搜索引擎可能会这样想。所以我改变了方法,现在将联盟ID存储在cookie中,并删除了onclick代码。 – Mark

相关问题