الحصول على الثابت وإظهاره من صفحة ويب خارجية وتحديثه عند التغيير

StackOverflow https://stackoverflow.com/questions/19842025

سؤال

يتلقى هذا البرنامج النصي وقتًا من www.time.is ومن معرف #twd ويظهر عند النقر فوق إرسال btn.

لدي مشكلتين:

1-إظهار وقت الاستلام الأول فقط ولا يتم التحديث عند الضغط على إرسال مرة أخرى

2- تحديث الصفحة وفقدان البيانات

لدي ثلاث مشاكل مع الكود أدناه:

<?php include 'simple_html_dom.php'; ?>
<!DOCTYPE html>
<html>

    <head>
        <title>Untitled 1</title>
        <script src="js/jquery.js"></script>
    </head>

    <body>

        <form action="" method="POST">
            <input id="url" name="url" type="text" value="http://www.time.is/">
            <input id="address" name="address" type="text" value="#twd">
            <input id="send" type="submit" value="get">
        </form>

        <ul id="times">

        </ul>

        <script type="text/javascript">
            $("#send").click(function(events) {
                events.preventDefault();

                var url = $("#url").val();
                var address = $("#address").val();
                var dataString = 'url=' + url + '&address=' + address;

                $.ajax({
                    type: "POST",
                    url: "read.php",
                    data: dataString,
                    success: function() {
                        var result = "<?php echo getme($url,$address);  ?>";
                        alert(result);
                        $('#times').append('<li></li>');
                    }
                });
                return true;
            });
        </script>

        <?php 

            function getme($url, $address) {
                $html = file_get_html($url);
                $code = $html->find($address, 0);
                return $code;
            }

            echo getme($url, $address);

        ?>
    </body>
</html>

أي هيئة يمكن أن تساعدني ..

شكرا لكم جميعا

هل كانت مفيدة؟

المحلول

جرب هذا:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){

                function timer(){
                $.post( "process.php", function( data ) {
                    $('#times').append('<li>'+data+'</li>');
                });
                }

                setInterval(function(){timer()},1000);


            });
        </script>
    </head>

    <body>
         <ul id="times"></ul>
    </body>
</html>

ووضع هذا في الخاص بك process.php ملف:

<?php
    include 'simple_html_dom.php';
    $html = file_get_html('http://www.time.is/');

    foreach($html->find('#clock0') as $element){
        echo $element->plaintext;
    }
?>

هذه هي نتيجة الاختبار الخاص بي:

  • 11:15:43 صباحًا
  • 11:15:46 ص
  • 11:15:51 صباحًا
  • 11:15:53 ​​ص
  • 11:15:53 ​​ص
  • 11:16:10 صباحًا
  • 11:15:52 ص
  • 11:15:42 ص
  • 11:16:09 صباحًا
  • 11:16:17 صباحًا
  • 11:16:12 صباحًا

ملحوظة:

1- ينصح بتغيير الفواصل الزمنية من 1000 ملي ثانية (1 ثانية).

2- لا تنسى الاستخدام clearInterval() بعد تكرار محدد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top