#javascript
#javascript
Вопрос:
Я пытаюсь вызвать следующий js-метод. Я хочу передать переменную siteid. Я могу предупредить об этом значении. Но, похоже, это не работает в следующем контексте. т.е. если просто добавить идентификатор 1234, это сработает.
оповещение (siteid);
embedSWF ('flashcontent', '{"siteID":siteid,"siteType":"portal","mainSWF":"http://tv.xxx.net/flash/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http://tv.xxx.net/expressInstall.swf"}');
Ответ №1:
Вам нужно объединить значение siteid
в вашу строку: '...' siteid '...'
В зависимости от того, что вы создаете, вы можете захотеть, чтобы строка заключала значение в кавычки.
Комментарии:
1. Вы также создаете свой XML с помощью конкатенации строк?
2. Нет, но это отдельная проблема.
Ответ №2:
Самый надежный способ сделать это — сначала создать объект как обычный объект, а затем сериализовать его:
var parms = {siteID: siteid, siteType: "portal", ...};
embedSWF('flashcontent', JSON.stringify(parms));
Если вам нужно поддерживать устаревшие браузеры, в которых нет встроенного объекта JSON, в Интернете доступно несколько реализаций.
Ответ №3:
embedSWF ('flashcontent', '{"siteID":' siteid ',"siteType":"portal","mainSWF":"http://tv.xxx.net/flash/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http://tv.xxx.net/expressInstall.swf"}');
Ответ №4:
Вы передаете строку:
'{"siteID":siteid,"siteType":"portal","mainSWF":"http://tv.xxx.net/flash/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http://tv.xxx.net/expressInstall.swf"}'
Вы, вероятно, имеете в виду передать:
'{"siteID":' siteid ',"siteType":"portal","mainSWF":"http://tv.xxx.net/flash/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http://tv.xxx.net/expressInstall.swf"}');
Кажется немного странным передавать строку JSON, а не сам ассоциативный массив. В любом случае, это ваша проблема, описанная выше.