jQuery.load() с формой AJAX Kontactr

После просмотра множества вопросов о том, как 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);, но я не уверен, как это сделать синтаксически.

1 ответ

Решение

Так что, если кто-то еще столкнется с этой проблемой, есть довольно простое решение.

Этот скрипт http://kontactr.com/wp.js просто document.write() - это фрейм на страницу. То, что я делал, было следующим:

<div id="main_content">
    <h1>Please Contact Us With The Form Below</h1>
    <center>
        <iframe id="kontactr-iframe" src="http://kontactr.com/w.php?id=1&referrer=http://www.theurlyourrequestingfrom.com&color=000000-FFFFFF-000000-FFFFFF" width="475px" height="475px" frameborder="0"></iframe>
    </center>
</div>

Отлично работает.

Примечания: color аргумент не является обязательным, и id Аргумент зависит от вашей учетной записи Kontactr. referrer аргумент заполнен window.top.location.href в сценарии http://kontactr.com/wp.js. Я просто поместил URL-адрес страницы $.load() там.

Другие вопросы по тегам