#javascript #jquery #html #parse-platform
#javascript #jquery #HTML #синтаксический анализ-платформа
Вопрос:
Скажем, у меня есть внешний файл javascript, first.js
который содержит переменную с именем «оценка». Я хочу использовать эту переменную внутри <script>
тега в теле (только после завершения обновления переменной внутри first.js , другими словами, я также хочу контролировать, когда это <script>
внутреннее тело срабатывает, и, очевидно, использовать в нем «оценка» ). Есть ли способ сделать это? РЕДАКТИРОВАТЬ ——- По сути, я хочу сохранить эту переменную в браузере данных в parse.com . Вот мой скрипт—
<script>
function giveit(){
var temp=whatScore();
Parse.initialize("myID", "myJDID");
var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();
gameScore.set("score", temp);
gameScore.save(null, {
success: function(gameScore) {
// Execute any logic that should take place after the object is saved.
alert('New object created with objectId: ' gameScore.id);
},
error: function(gameScore, error) {
// Execute any logic that should take place if the save fails.
// error is a Parse.Error with an error code and description.
alert('Failed to create new object, with error code: ' error.message);
}
});
}
</script>
giveit()
функция вызывается при нажатии кнопки. Я использовал атрибут onlogin.
Теперь whatScore()
определена функция first.js
, которая выглядит следующим образом:
function whatScore()
{
return score;
}
Я сохранил результат в temp и использовал temp в приведенном ниже коде, но он не работает.
В консоли написано, что «whatScore» не определен. Что я могу сделать, чтобы функция first.js
whatScore действительно была определена внутри <script>
тега??
Спасибо.
Комментарии:
1. Мой партнер отредактировал код. Пожалуйста, посмотрите сценарий. Любой другой способ сохранения переменной «score» для parse.com также может быть предложено. Спасибо.
2. @ejay_francisco , это parse.com сценарий
3. Привет, я ранее обновил свой код в своем ответе. Пожалуйста, посмотрите измененный код.
Ответ №1:
С помощью этого кода:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Test</title>
<script src="first.js" type="text/javascript"></script>
</head>
<body><script type="text/javascript">console . log ( { foo : score } );</script></body>
</html>
и файл с именем: «first.js » содержание:
var score = 5;
Я получаю в консоли:
Object { foo: 5 }
Убедитесь, что:
- Ваш синтаксис HTML5 / CSS3 / JavaScipt допустим.
- Переменная score находится в глобальной области видимости.
- Файл с именем: «first.js » загружается перед вашим тегом скрипта, а переменная score объявляется и устанавливается перед тем, как вы ее используете.
Вы также можете дождаться переменной, используя этот код:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Test</title>
</head>
<body>
<script type="text/javascript">
function logScore () { console . log ( { foo : score } ); }
var interval = setInterval ( function ()
{
if ( typeof score !== "undefined" ) // if is declared use variable named: "score" and exit interval
{
logScore ();
clearInterval ( interval );
}
}, 1000 ); // wait one second ...
</script>
<script type="text/javascript">var score = 5; /* score loaded after interval */ </script>
</body>
</html>
Обновить:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Test</title>
</head>
<body>
<button onclick="giveit ();">Test your function here ...</button>
<script type="text/javascript">
function giveit ()
{
var interval = setInterval ( function ()
{
if ( typeof whatScore === "function" ) // now check if function is declared, use return variable named: "score" and exit interval
{
var temp = whatScore ();
console . log ( { foo : temp } ); // log: Object { foo: 5 }
/* your code here */
clearInterval ( interval );
}
}, 1000 ); // wait one second ...
}
</script>
<script type="text/javascript">
var score = 5; /* set global variable named: "score" - loaded after interval */
function whatScore ()
{
// var score = 5 /* or set local variable named: "score" - loaded after interval */
return score;
}
</script>
</body>
</html>
Комментарии:
1. Привет, пожалуйста, посмотрите правку, которую я сделал. Я очень близок. Пожалуйста, помогите мне. Спасибо.