htm文件没有加载查询字符串

时间:2015-05-19 04:43:35

标签: javascript html dynamics-crm-2015

我试图从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资源。 任何帮助我该如何解决这个问题? 感谢。

2 个答案:

答案 0 :(得分:1)

在CRM中,网页(HTML)或Silverlight Web资源页面只能接受一个名为data的自定义参数。 其他任何事情都会导致问题。

Read More...

答案 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>