我如何修改这个javascript来忽略查询字符串中的任何数据
How can I modify this javascript to ignore any data within a query string?
基本上,我有这个网站,其内容根据用户输入的查询字符串而变化。
当用户输入mysite.com/?1时,它加载1和/?2 for 2
我的问题是,我有一个Facebook喜欢按钮在我的页面,并使其工作,我已经写了这个js代码:
<script type="text/javascript">
var sUrl = window.location;
document.getElementById('fbcom').setAttribute('href', sUrl);
</script>
获取url,并允许用户喜欢不同的内容,从技术上讲,这是一个文件。
我的问题是,当用户喜欢例如/?在facebook上,如果有人在他们的信息流中点击了这个链接,并决定他们也喜欢它,从技术上讲,他们会喜欢这个页面/?1-与所有额外的facebook代码在url的末尾,所以返回/?1 . like未注册。
我如何修改上面的代码忽略任何facebook垃圾在url的结束时,他们从facebook定向?
重要提示:ID/?1可以是1位数到4位数的任何数字,例如/?1234我现在的JS能力很差。由于
您可以将您实际想要保留的location
的属性组合起来-似乎是protocol
, host
和pathname
:
var sLoc = window.location;
var sUrl = sLoc.protocol + '//' + sLoc.host + sLoc.pathname;
您也可以使用pathname
作为相对于根:
var sUrl = window.location.pathname;
你可以使用regex:
var sUrl = window.location.toString().replace(/^(.*?)('?.*)?$/, '$1');
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 从查询字符串参数推断出正确的数据类型
- AngularJS:获取链接中没有哈希的查询字符串值
- AngularJS,如何更改查询字符串
- 如何将activeadmin查询字符串传递给batch_action
- 如何从查询字符串中的输入字段发回文本
- Django在使用AJAX时没有接收到新的查询字符串
- 使用查询字符串方法清除浏览器缓存
- 用于刷新的Javascript更改查询字符串
- 我想将查询字符串变量添加到JSON名称/值对中
- 将查询字符串值从页面传递 asp.net 到 iframe
- jqueryajax生成查询字符串,如果未定义则不通过
- 如何将查询字符串传递到HTML框架
- AngularJs将查询字符串发布到c#控制器
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 在 JavaScript 中将查询字符串传递给 Web 服务 (ASP.NET)
- 在查询字符串中查找 where 子句
- POST encodeURI查询字符串内部服务器错误 500
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- 更改链接 URL 中的路径名,同时保持查询字符串不变