Как указал @Taplar, код, введенный $("#mymodal").load()
, был полной страницей THML, которая имеет собственную ссылку на JQuery.Это перезагружало JQuery и, следовательно, удаляло плагин.
Проблема была исправлена с использованием условных расширений в Django и предоставлением более простой версии страницы без сценариев:
{% extends request.no_frame|yesno:"frameless.html,frame.html,frame.html" %}
Этот атрибут запросаустанавливается промежуточным ПО:
class NoFrameMiddleware:
def __init__(self, get_response):
self.get_response = get_response
# One-time configuration and initialization.
def __call__(self, request):
# Code to be executed for each request before
# the view (and later middleware) are called.
if "frame" in request.GET:
request.no_frame = {'frame': request.GET["frame"].lower() == 'false'}
response = self.get_response(request)
# Code to be executed for each request/response after
# the view is called.
return response
И вызов загрузки выглядит следующим образом:
$("#mymodal").load("/widget/29/?frame=False")
frame.html
- это обычная страница, а frameless.html
- это страница без заголовков иливсе, что мешает странице хоста