jquery - URL 可以告诉 jQuery 运行一个函数吗?

标签 jquery jquery-selectors

有一个关于 URL 和 jQuery 的问题。

我可以指定 URL 来告诉 jQuery 运行函数吗?

例如http://www.website.com/about.html?XYZ

运行函数XYZ();

最佳答案

您可以在该网页中放置代码来检查 URL 上的查询参数,然后根据找到的内容调用您想要的任何 JavaScript 函数。

在您的特定示例中,简化版本将如下所示:

// code that runs when page is loaded:
if (window.location.search == "?XYZ") {
    XYZ();
}

或者,如果您希望它运行其中存在的任何函数,您可以从字符串中提取该函数并运行其中的任何名称。

// code that runs when page is loaded:
if (window.location.search.length > 1) {
    var f = window.location.search.substr(1);  // strip off leading ?
    try {
        eval(f + "()");  // be careful here, this allows injection of javascript into your page
    } catch(e) {/* handler errors here */}
}

允许在您的页面中运行任意 JavaScript 可能会或可能不会产生不良的安全影响。最好(如果可能的话)只支持您查找并知道是安全的一组特定的预先存在的函数,而不是像第二个示例那样执行任意 javascript。

关于jquery - URL 可以告诉 jQuery 运行一个函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736248/

相关文章:

带文件上传功能的 JQuery Ajax 表单在 IE 中不起作用

javascript - 如果添加了新元素,如何绑定(bind)内容可编辑的子元素以更新 .length

javascript - jquery css 从一个 div 获取 child

jquery - W3Schools jQuery 测验

javascript - 如何判断是 "html"还是 "body"滚动窗口

javascript - 在 Javascript 字符串中使用 Bootstrap 的 popover 插件

javascript - 垄断 : check for double only if player lands naturally

jquery - 哪个更有效 : .parent().parent().parent() ~或~parents (".foo") ~或~最接近 (".foo")

jquery - jquery中如何从匿名函数返回值

javascript - Jquery中如何通过索引获取子元素?