繁体   English   中英

仅在特定网址中执行javascript

[英]Execute javascript only in specific url

我在这段代码里面有一个外部JS文件:

var mobile_number_param = document.getElementById('mobile_number_param');
mobile_number_param.maxLength = 9;
mobile_number_param.readOnly = true;
var email = document.getElementById('email');
email.readOnly = true;
var user_notes = document.getElementById('user_notes');
user_notes.maxLength = 90;
var admin_notes = document.getElementById('admin_notes');
admin_notes.maxLength = 90;

现在我的目标是应用与“mobile_number_param”相关的代码,但仅当我在“reserve.php”页面时,否则我不允许在我的个人资料页面等其他区域修改我的手机号码。

有人告诉我这个:


您可以通过检查window.location.href来识别当前网址,例如搜索reserve.php以了解您在预订页面上。然后应用您的代码。


不幸的是,我不是编码员,也不知道该怎么做。

有什么建议么 ? 谢谢你的时间......

if (window.location.href.indexOf('reserve.php') != -1) {
    // do stuff for reserve.php page here
}

只需在外部JS文件中添加以下函数:

    function myFunction(pagename) {
        var pageurl = window.location.href;
        var pg = pageurl.split("/"); /*SPLITS THE URL ACCORDING TO DELIMINATOR "/". Eg x/y/z/reserve.php pg[0]=x,..pg[3]=reserve.php*/
        var pgname = (pg[pg.length - 1]);
        if (pagename == pgname) /*check whether the current page is reserve.php or not*/
        {
            return true;
        }
        return false;
    }

调用函数

if (myFunction("reserve.php")) {
    /*Yes reserve.php page*/
} else {
    /*Not reserve.php page*/
}

服务器端可以读取HTTP referer字段。 如果它包含reserve.php,则包含一个js else和另一个js。

如果你只想使用一个js,你可以将fucionality包装成一个函数。 从reserve.php调用参数1,从其他页面参数0调用

要不然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM