【问题标题】:Retrieve query string from Kendo Window Content URL从 Kendo Window 内容 URL 检索查询字符串
【发布时间】:2014-12-04 17:09:11
【问题描述】:

我在检索 URL 查询字符串时遇到问题。比如说,在一个 HTML 页面中,我有一个按钮。当按下按钮时,我会调用一些这样的 javascript 函数。

function() {
    $("#kendowindow").kendoWindow ({
        width: 50%,
        height: 50%,
        content: "page.html?querystring=2&secondquerystring=3"
    }),
}

现在,在 page.html 中,我想检索两个查询字符串值并在另一个 javascript 函数中使用它们。有什么办法可以做到吗?

page.html

<html>
    <body>
        <h1>Kendo Window Page </h1>
    </body>
    <script>
        alert(window.location); // This displays my first page url (NOT page.html?querystring=2&secondquerystring=3)
    </script>
    </body>
</html>

有什么方法可以从剑道窗口的内容属性中检索查询字符串值?我需要它们用于 page.html 中定义的单独 javascript 函数。任何帮助将不胜感激。

【问题讨论】:

  • 嗨@user3781214,你有问题的解决方案吗,我正在研究kendo asp.net core,但我想设置你想要的逻辑并面临同样的问题。跨度>

标签: javascript jquery html kendo-ui


【解决方案1】:

如果您看不到这是因为page.html 没有加载到iframe 中,因此它没有自己的url(KendoUI 将页面内容加载到同一页面的 DOM 中)。

你有两个选择:

  1. 将其加载为iframe,将iframe: true 添加到kendoWindow 选项
  2. 从内部代码访问 KendoUI 窗口并请求 content 选项。

选项 1:

KendoUI 窗口创建代码

$("#kendowindow").kendoWindow({
    width: "50%",
    height: "50%",
    content: "page.html?querystring=2&secondquerystring=3",
    iframe: true
});

和页面 HTML:

<html>
    <body>
        <h1>Kendo Window Page </h1>
    </body>
    <script>
        console.log("url", window.location.href);
    </script>
</html>

选项 2:

KendoUI 窗口创建代码:

$("#kendowindow").kendoWindow({
    width: "50%",
    height: "50%",
    content: "page.html?querystring=2&secondquerystring=3"
});

和页面 HTML

<html>
    <body>
        <h1>Kendo Window Page </h1>
    </body>
    <script>
        var win = $("#kendowindow").data("kendoWindow");
        console.log("url", win.options.content.url);
    </script>
</html> 

【讨论】:

  • 感谢您的回复。我正在尝试对 page.html 进行更改。出于某种原因,我没有看到任何变化。剑道窗口是缓存还是什么?例如,如果我将

    更改为“更新的标题”,当我打开一个窗口时,我看不到更改。

  • 我不认为 KendoUI 正在缓存您的页面,可能是您的浏览器或您部署它的 Web/应用程序服务器。如果你直接在浏览器中打开页面,你看到&lt;h1&gt;中的那个变化了吗?
  • 是的,如果我直接在浏览器中打开它,我会看到变化。当我设置 iframe = true 时,我没有看到窗口中的变化。如果我删除此属性,那么我会看到更新的窗口。但是,然后删除 iframe 属性将导致您建议的两个答案都不起作用。有什么想法吗?
  • option 2 解决方案中,urlconsole 中显示为什么?它是否显示任何错误?
  • 是的,$ 未定义 (var win = $("#kendowindow").data("kendoWindow");)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多