htm 文件未加载查询字符串

htm file doesn't loaded with query string

我正在尝试从 htm 文件中获取查询字符串。 但是,当我在 .htm url 的末尾写一个“?param=1”时 - 文件未加载并且我在此页面中看不到任何内容 - 我得到的错误是:"Incorrect document syntax". 当我打开这个 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"), "");
            SendUrlsToServer(queryString);
        }

    </script>
        <p>
            test paragraph
        </p>
    </body>
    </html>

(函数 SendUrlsToServer 来自另一个 js 文件)。 我需要在这个 url 中得到一个查询字符串。 此 htm 文件是 crm 中的网络资源。 任何帮助我如何解决这个问题? 谢谢

您在参数中查找 "urls",但发送的是 "param"!

如果您要发送 "param"

,请将 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"), "");
SendUrlsToServer(queryString);
}
function SendUrlsToServer(x)
{
if(x.length > 0)
   alert(x);
}
</script>
<p>
    test paragraph
</p>
</body>
</html>

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

Read More...