получить и оценить javascript - почему бы не работать?

121
13

У меня есть страница, на которой я загружаю контент с другой страницы при нажатии. Этот контент нуждается в дополнительном javascript для работы, поэтому я хочу также загрузить его и выполнить его с помощью eval(). Это мой подход, но он не работает:

$.get('jsfile.js', function(jsfile) {
eval(jsfile);
});
$('#content').load('otherpage.php #thiscontent');

Я не понимаю, почему он не работает. Я знаю, что встроенный javascript обычно не будет выполняться, но не должен ли eval() заботиться об этом?

спросил(а) 2021-01-19T21:06:49+03:00 9 месяцев назад
1
Решение
65

Это связано с тем, что при указании фрагмента страницы при вызове jQuery.load теги сценария лишены.

См. Загрузка фрагментов jQuery.load документации jQuery.load.

Метод.load(), в отличие от $.get(), позволяет нам указать часть удаленного документа, который будет вставлен. Это достигается специальным синтаксисом параметра url. Если один или несколько символов пробела включены в строку, часть строки, следующая за первым пространством, считается селектором jQuery, который определяет загружаемый контент.

Для достижения желаемого результата вам понадобится другая функция.

ответил(а) 2021-01-19T21:06:49+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема