我试图从htm文件中获取查询字符串。 但是,当我写一个"?param = 1"在.htm网址的末尾 - 文件未加载,我在这个页面中看不到任何内容 - 我得到的错误是:"文档语法错误"。 当我打开这个url但最后没有查询字符串时,它正常打开。
这是我的htm文件:
<html>
<head>
<title>Test Url sender</title>
<meta charset="utf-8">
</head>
<body>
<script src="file.js" type="text/javascript"></script>
<style type="text/css">
body {
font-size: 12px;
margin: 0px 10px;
}
</style>
<script type="text/javascript">
window.onload = getQueryString();
function getQueryString() {
var queryString = window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape("param").replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1");
SendUrlsToServer(queryString);
}
</script>
<p>
test paragraph
</p>
</body>
</html>
(函数SendUrlsToServer来自另一个js文件)。 我需要在这个url中获取一个查询字符串.. 这个htm文件是crm中的web资源。 任何帮助我该如何解决这个问题? 感谢。
答案 0 :(得分:1)
在CRM中,网页(HTML)或Silverlight Web资源页面只能接受一个名为data的自定义参数。 其他任何事情都会导致问题。
答案 1 :(得分:0)
您正在寻找&#34;网址&#34;在参数中,但发送&#34; param&#34;相反!
如果您要发送&#34; param&#34;
,请将escape("urls")
更改为escape("param")
尝试以下代码段
<html>
<head>
<title>Test Url sender</title>
<meta charset="utf-8">
</head>
<body>
<style type="text/css">
body {
font-size: 12px;
margin: 0px 10px;
}
</style>
<script type="text/javascript">
window.onload = getQueryString();
function getQueryString() {
var queryString = window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape("params").replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1");
SendUrlsToServer(queryString);
}
function SendUrlsToServer(x)
{
if(x.length > 0)
alert(x);
}
</script>
<p>
test paragraph
</p>
</body>
</html>