На моем сайте у меня есть большое количество изображений с сопровождающим текстом, отправленных с сервера как php json_encode($object)
, например:
<script type="text/javascript">
var jsonimgs = '[["90","1","Foraeldreforeningens Chris McDonald-arrangement i aulaen ma. 10. oktober 2011 \nFotos: Silas Staal ","cmd13.jpg","15","0"],["91","2","Foraeldreforeningens Chris McDonald-arrangement i aulaen ma. 10. oktober 2011\nFotos: Silas Staal ","cmd1.jpg","15","1"],["92","3","Foraeldreforeningens Chris McDonald-arrangement i aulaen ma. 10. oktober 2011\nFotos: Silas Staal ","cmd2.jpg","15","2"]]';
jsonimgs = jsonimgs.replace(/(\r\n)|(\n)/g, '<br />');
var images = jQuery.parseJSON(jsonimgs);
</script>
Этот объект изображения используется в пространстве JavaScript для обработки навигации между изображениями.
Как видите, я заменяю все новые строки тегом <br>
, потому что в противном случае исключение выдается функцией .parseJSON
, а переменная images не создается.
Это прекрасно работает в Internet Explorer 9, последней версии Firefox и Google Chrome. Но когда я пытаюсь запустить его в Internet Explorer 8, он не работает. Я предполагаю, что Internet Explorer 8 по какой-то причине не заменяет теги новой строки, и поэтому функция .parseJSON
не работает, и поэтому переменная images не создается.
Итак, мой вопрос: как я могу гарантировать, что переменная images всегда создается во всех браузерах, независимо от того, какой тип символов может быть в переменной $images
, отправленной с сервера?
С уважением.