我在app / views / reports下有一个名为_report_js.html.erb的javascript文件。当我运行我的应用程序时,我收到错误:
TypeError:$ .url不是函数
这是我的代码:
<script type="text/javascript">
if($.url().param('ig') == 'true') {
alert("hi");
$('#icons').hide();
$('#photos').show();
end
</script>
答案 0 :(得分:4)
$.url()
不是jQuery Core的一部分。如果你想要实现类似的东西,可以使用
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
使用它:
var tech = getUrlParameter('technology');
在你的例子中它会像这样
if(getUrlParameter('ig') == 'true') {
答案 1 :(得分:0)
//Just use this, no need to do loops:
var getUrlParameter = function getUrlParameter(sParam) {
var r = "";
if (window.locaton.href.substring(window.locaton.href.indexOf(sParam + "="))) {
r = window.locaton.href.substring(window.locaton.href.indexOf(sParam + "=")(sParam + "=").length + 1);
// trim if there is other parameter on the list
if (r.indexOf("&") > 0)
r = r.substring(0, r.indexOf("&"));
}
// please do some simple test, I just wrote it without testing the code
return r;
}
答案 2 :(得分:0)
您的代码可能假设已加载库purl库https://github.com/allmarkedup/purl但未加载或无法访问。
您可以尝试替代方法:
if(purl().param('ig') == 'true') {