После просмотра множества вопросов о том, как jQuery.load () обрабатывает теги в загружаемом содержимом, я вижу, что jQuery удаляет встроенные теги. Но я хотел бы использовать Kontactr для страницы контактов на моем сайте, и гораздо более приятное встраивание AJAX - это два тега сценария, как в примерах кода ниже. Как можно обойти ограничения jQuery.load (), чтобы эти теги сценариев выполнялись в функции callback () jQuery.load (file, callback ())?
index.html
<html>
<head>
<!--include css, jquery, scripts -->
<script type="text/javascript">
$(document).ready(function() {
$('#main_content').load('contact.html #main_content', function(){
//what can I put here to run the Kontactr inline script code
//when contact.html is loaded?
});
});
</script>
</head>
<body>
<div id="main_content"><!--content will load here--></div>
</body>
</html>
contact.html
<div id="main_content">
<h1>Please Contact Us With The Form Below</h1>
<!-- jQuery.load will strip out these script tags
and the form will not be embedded. -->
<script type="text/javascript"> id = 1; </script>
<script type="text/javascript" src="http://kontactr.com/wp.js"></script>
</div>
Я подумал, что, может быть, я могу поместить <div id="contact_form"/>
в contact.html, а затем, возможно, проверить теги сценария в функции обратного вызова внутри
$('#contact_form').html(//eval script tags result here);
, но я не уверен, как это сделать синтаксически.