VBScript в HTML (Inline): Как да обновите и излезете

Правя проста VBscript програма в рамките на HTML, за да получа дума и да проверя дали е палиндром.

Имам настройката на кода, с изключение на едно нещо - в крайна сметка, ако потребител въведе дума, която НЕ е палиндром, имам msgbox, който има vbYesNO и казва: „Съжалявам, не е палиндром! Желаете ли да опитате отново?".

Искам скриптът да обнови страницата, ако потребителят щракне върху Да, и да затвори текущия раздел/да спре скрипта, ако потребителят щракне върху Не.
Пиша всичко това в Notepad и го записвам като .html. Също така мога да изпълня този скрипт само в IE.

Публикувам кода си тук.

<html>
<head><meta http-equiv="x-ua-compatible" content="IE=10"></head>

<body bgcolor="cyan">
<p style="color:#0F104E;text-align:center;font-size:75px">A game of Palindromes!</p>
<script language="vbscript">

option explicit
DIM a,b,c,d,x,y,z

a=MsgBox("Do you know what a Palindrome is?", vbYesNo)
Select case a
    case vbNo
        msgbox("A palindrome is a word which is the same spelled forwards or backwards, e.g: Eye.")
End select

document.write("<h1>Palindromes found:</h1>")
b=msgbox("Let's play a game about Palindromes!", vbOKonly)

Do while z=0
    x=Ucase(inputbox("Enter a word to check if it's a Palindrome:(Not case-sensitive!)"))
    If x<>"" then
         y=strReverse(x)
         z=strComp(x,y)
         If z=0 then
             Msgbox("It's a palindrome! Let's see how many you know!")
             document.write("<h2><ul><li>" & x & "</li></ul></h2>")
          end if
    else 
        Quit
    end if
LOOP 

c=msgbox("Sorry! Not a palindrome. Try again?", vbYesNo)
select case c
    case vbNo
        msgbox("Thanks for playing!")
    'I want it to close the tab
    case vbYes
    'I want this to refresh the page or loop back to the beginning
end select

</script>
</body>
</html>

person user2892110    schedule 30.12.2014    source източник
comment
Трябва да използвате javascript/jquery   -  person 21Canadians    schedule 30.12.2014
comment
@21Канадци Наистина ли?   -  person rene    schedule 30.12.2014


Отговори (1)


Въпреки че VBScript все още се поддържа в Internet Explorer, ако започнете да работите по нови проекти, по-добре е да разгледате javascript, защото се поддържа в много браузъри, включително браузъри от Microsoft.

Вашият код се нуждае само от една корекция и два израза. Първо показвам променения код и ще обясня какво съм добавил:

option explicit
DIM a,b,c,d,x,y,z

a=MsgBox("Do you know what a Palindrome is?", vbYesNo)
Select case a
    case vbNo
        msgbox("A palindrome is a word which is the same spelled forwards or backwards, e.g: Eye.")
End select

document.write("<h1>Palindromes found:</h1>")
b=msgbox("Let's play a game about Palindromes!", vbOKonly)

Do while z=0
    x=Ucase(inputbox("Enter a word to check if it's a Palindrome:(Not case-sensitive!)"))
    If x<>"" then
         y=strReverse(x)
         z=strComp(x,y)
         If z=0 then
             Msgbox("It's a palindrome! Let's see how many you know!")
             document.write("<h2><ul><li>" & x & "</li></ul></h2>")
          end if
    else 
        'instead of quit use Exit Do 
        Exit Do
    end if
Loop

c=msgbox("Sorry! Not a palindrome. Try again?", vbYesNo)
select case c
    case vbNo
        msgbox("Thanks for playing!")
       'I want it to close the tab
       window.close()
    case vbYes
       'I want this to refresh the page or loop back to the beginning
       window.location.href = window.location.href
end select

Първо ключовата дума Quit, която сте използвали, не е разрешена в браузър. Вместо това просто излязох от Do While цикъла с Exit Do изявление.

За затваряне на прозореца (или раздела) използвах метод, който е достъпен на window обект, наречен close.

За да презаредя текущата страница, използвах споменатия по-рано обект прозорец и неговия обект location, за да задам свойството href на себе си. Трик, който е показан в този отговор от потребител raRaRa

person rene    schedule 30.12.2014
comment
Благодаря много! В момента съм в училище и току-що научихме малко VBscript, следователно знам само това. Надяваме се, че следващата година ще научим JS :D Когато проучвах да намеря команда, която да затвори раздела, намерих команда Wscript.Quit, но тя не работи с IE. И така, има ли списък с команди за браузъри, до които имам достъп онлайн за бъдещи справки? Благодаря отново. - person user2892110; 31.12.2014