Javascript 浏览器表示函数未被引用

Javascript 浏览器表示函数未被引用,javascript,google-chrome,firefox,Javascript,Google Chrome,Firefox,我对这件事感到很难过。我不想通过PHP函数来创建cookie。javascript函数是在Jquery文档中定义的。JQuery库几乎加载了所有这些javascript函数 <script type="text/javascript"> $( document ).ready(function() { function superadmin() { document.cookie = "user=superadmin"; wind

我对这件事感到很难过。我不想通过PHP函数来创建cookie。javascript函数是在Jquery文档中定义的。JQuery库几乎加载了所有这些javascript函数

<script type="text/javascript">
  $( document ).ready(function() {

    function superadmin()
    {
        document.cookie = "user=superadmin";
        window.location = "list.php";
    }

    function user()
    {
        document.cookie = "user=user";
        window.location = "list.php";
    }       
  });
</script>
<script type='text/javascript'>
  $( document ).ready(function() { 
    superadmin(); 
  });
</script>    

<div class="container">

$(文档).ready(函数(){
函数superadmin()
{
document.cookie=“用户=超级管理员”;
window.location=“list.php”;
}
函数用户()
{
document.cookie=“user=user”;
window.location=“list.php”;
}       
});
$(文档).ready(函数(){
超级管理员();
});

我用这种方式用javascript编写了cookes

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}

function deleteCookie(name) {
    document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

 setCookie("userid",14);
 setCookie("username","rajesh");

var userid = getCookie("userid");
var username = getCookie("username");
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires;
}
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
我用这种方式用javascript编写了cookes

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}

function deleteCookie(name) {
    document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

 setCookie("userid",14);
 setCookie("username","rajesh");

var userid = getCookie("userid");
var username = getCookie("username");
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires;
}
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
函数声明的作用域是它们在其中声明的函数

superadmin
是在传递给
ready()
的匿名函数中定义的,因此不能在该匿名函数之外调用

首先,删除以下内容:

<script type='text/javascript'>
  $( document ).ready(function() { 
    superadmin(); 
  });
</script>    

$(文档).ready(函数(){
超级管理员();
});

第二个,将调用放到
superadmin()在现有的就绪事件处理程序函数中。

函数声明的作用域是它们在其中声明的函数

superadmin
是在传递给
ready()
的匿名函数中定义的,因此不能在该匿名函数之外调用

首先,删除以下内容:

<script type='text/javascript'>
  $( document ).ready(function() { 
    superadmin(); 
  });
</script>    

$(文档).ready(函数(){
超级管理员();
});

第二个,将调用放到
superadmin()在现有的就绪事件处理程序函数中。

这是一个与javascript作用域相关的问题。jquery document.ready事件使用单独的作用域,因此如果在其中创建变量,则无法从其他位置访问它

解决方法是创建一个名称空间,在这种情况下,它是一个附加变量的对象。上述问题可以通过以下方式解决:

<script type="text/javascript">

var Namespace = {};

$( document ).ready(function() {

  Namespace.superadmin = function()
  {
    document.cookie = "user=superadmin";
    window.location = "list.php";
  }

  Namespace.user = function()
  {
    document.cookie = "user=user";
    window.location = "list.php";
  }       
});
</script>
<script type='text/javascript'>
$( document ).ready(function() { 
  Namespace.superadmin(); 
});
</script>    

<div class="container">

var名称空间={};
$(文档).ready(函数(){
Namespace.superadmin=函数()
{
document.cookie=“用户=超级管理员”;
window.location=“list.php”;
}
Namespace.user=函数()
{
document.cookie=“user=user”;
window.location=“list.php”;
}       
});
$(文档).ready(函数(){
Namespace.superadmin();
});
编辑:


对于上述特定情况,昆汀发布的解决方案更好。这是一个可以接受的解决方案,假设您无法避免使用两个独立的侦听器(可能位于不同的文件中)。当然,您也可以使用一个可以从两个作用域访问的作用域,在这种情况下就是窗口作用域。

这是一个与javascript作用域相关的问题。jquery document.ready事件使用单独的作用域,因此如果在其中创建变量,则无法从其他位置访问它

解决方法是创建一个名称空间,在这种情况下,它是一个附加变量的对象。上述问题可以通过以下方式解决:

<script type="text/javascript">

var Namespace = {};

$( document ).ready(function() {

  Namespace.superadmin = function()
  {
    document.cookie = "user=superadmin";
    window.location = "list.php";
  }

  Namespace.user = function()
  {
    document.cookie = "user=user";
    window.location = "list.php";
  }       
});
</script>
<script type='text/javascript'>
$( document ).ready(function() { 
  Namespace.superadmin(); 
});
</script>    

<div class="container">

var名称空间={};
$(文档).ready(函数(){
Namespace.superadmin=函数()
{
document.cookie=“用户=超级管理员”;
window.location=“list.php”;
}
Namespace.user=函数()
{
document.cookie=“user=user”;
window.location=“list.php”;
}       
});
$(文档).ready(函数(){
Namespace.superadmin();
});
编辑:

对于上述特定情况,昆汀发布的解决方案更好。这是一个可以接受的解决方案,假设您无法避免使用两个独立的