1

我试图让它在我不在 MobileMe 上托管的 iweb 页面中工作。使用下面的代码,我会在每次刷新页面时继续获得警报框,而不是每次会话一次。我是这里的新手,所以请善待。

//Alert message once script- By JavaScript Kit
//Credit notice must stay intact for use
//Visit http://javascriptkit.com for this script

//specify message to alert
var answer=confirm("Click OK if you have been cleared Sutter's HR department to start       
volunteering.")
if (answer)
 alert ("Excellent!!  Please select your dates directly within the scheduling calendar.")
else
 alert ("Let's get to it then. Contact Ruth in HR at 576-4208 to schedule an appointment     so you can get started.")


///No editing required beyond here/////

//answer only once per browser session (0=no, 1=yes)
var once_per_session=1


function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) { // if cookie exists
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      // set index of end of cookie value
      if (end == -1)
         end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
}

function alertornot(){
if (get_cookie('alerted')==''){
loadalert()
document.cookie="alerted=yes"
}
}

function loadalert(){
alert(alertmessage)
}

if (once_per_session==0)
loadalert()
else
alertornot()

</script>
4

1 回答 1

2

您的代码在每个会话中调用一次:

alert(alertmessage)

但是在每次加载脚本时都会调用顶部的代码。

此外 - 我没有看到在哪里alertmessage定义......所以您可能希望将代码从顶部放在loadalert函数内部,从而导致:

function loadalert(){
var answer=confirm("Click OK if you have been cleared Sutter's HR department to start  volunteering.")
if (answer)
 alert ("Excellent!!  Please select your dates directly within the scheduling calendar.")
else
 alert ("Let's get to it then. Contact Ruth in HR at 576-4208 to schedule an appointment     so you can get started.")

}

编辑:

顺便说一句 - 开始使用花括号。它有助于调试和了解您的位置。:)

于 2010-05-19T18:01:13.387 回答