0

我正在尝试从 htm 文件中获取查询字符串。但是当我在 .htm url 的末尾写一个“?param = 1”时 - 文件未加载并且我在此页面中看不到任何内容 - 我得到的错误是:“不正确的文档语法”。当我在最后没有查询字符串的情况下打开这个 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 中的网络资源。任何帮助我该如何解决这个问题?谢谢。

4

2 回答 2

1

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

阅读更多...

于 2015-05-19T05:38:43.953 回答
0

您正在参数中寻找“urls”,但发送的是“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"), "$1");
SendUrlsToServer(queryString);
}
function SendUrlsToServer(x)
{
if(x.length > 0)
   alert(x);
}
</script>
<p>
    test paragraph
</p>
</body>
</html>
于 2015-05-19T04:46:57.810 回答