Jump to content
  • 0

проблема в internet explorer при передачи данных аяксом


vic-chrome
 Share

Question

Сначала опишу как должен работать скрипт:

  • с сайта на php скрипт уходит переменная, которая является ссылкой на главный html файл.

  • php скрипт выкачивает в переменную $text все содержимое html файла, затем эта переменная обрабатывается функцией htmlspecialchars
$text = htmlspecialchars($row, ENT_QUOTES);


  • Дальше текст идет на сайт посредством jquery и добавляется в тег 'code'.
$.post("example/code.php",{link:pathhtml},function(data){
$('#iframe').find('code').text(data);
});


Идея скрипта заключается в том, чтобы вывести в тег 'code' исходный код html файла. В принципе все сработало, но как обычно internet explorer преподнес небольшой сюрприз. Исходный код в нем выводится одним сплошным потоком без каких либо переносов строк (как в других нормальных браузерах). После небольших тестов стало понятно что текст становится таким после любой jquery функции $.post или .load или .get (т.е. через все яаксовые функции). Друзья, кто сталкивался с таким явлением, объясните почему ie именно так ведет себя и как с этим бороться?

нормальные браузеры:

91853.jpg

internet explorer:

97997.jpg

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Вот только что сам столкнулся с подобным… нашёл такой метод

на сервере после

$text = htmlspecialchars($row, ENT_QUOTES);

оформляем в «pre»

далее

создаём див (лучше скртый) и в него помещаем этот текст

далее из этого дива достаём текст для джаваскрипта innerText ом

далее заменяем символы переноса строки и табуляции на понятные для браузера

	txt = txt.replace(/\n/gi, "<br />");
txt = txt.replace(/\t/gi, "  ");

ну и все . Готовый текст заносим куда хотим.

Хотя не знаю подойдет ли для данного случая…

Edited by hf3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy