הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   לא עובד JS בקובץ PHP (https://hosts.co.il/forums/showthread.php?t=76115)

Megnum 29-06-09 19:10

לא עובד JS בקובץ PHP
 
אהלן, אם אני מוסיף בקובץ PHP והAJAX מוריד ממנו נתונים הוא מתעלם מהJS שאני מכניס באותו קובץ הPHP ואם אני ניגש פיזית לקובץ זה כן עובד יש סיבה?!

תודה!|כועס|

daMn 29-06-09 19:11

לא הבנתי מילה :\

Megnum 29-06-09 19:17

יש לי נניח index.php ובו קוד javascript -Ajax ששולף נתונים מקובץ gallery.php ואם אני מכניס לקובץ gallery.php קוד גאווה סקריפט למשל alert("baka"); כלשהו אז זה פשוט לא מוצג ואם אני מקליד gallery.php בדפדפן זאת אומרת נכנס אליו פיזית זה כן עובד, מכאן הAJAX איך שהוא מנטרל את זה.

Ron | CSite.co.il 29-06-09 19:50

כן בעיה ידועה, תוסיף את זה לסקריפט שקורא ל ajax:

HTML קוד:

                        // evaluate javascript
                        scriptTag='(<script.*?>)((\n|\r|.)*?)(<\/script>)';
                        if (scripts=resultsuser.match(scriptTag))
                        {
                                // remove slashes
                                scripts[2]=scripts[2].replace(/\\/g,"");
                                //run scripts
                                eval(scripts[2]);
                        }


דוג' לשילוב בקוד קריאה ל ajax:

HTML קוד:



//Browser Support Code
function call_ajax(DivUpdate,PageOpen,GetString)
{
        var ajaxRequest;  // The variable that makes Ajax possible!
        try
        {
                // Opera 8.0+, Firefox, Safari
                ajaxRequest = new XMLHttpRequest();
        }
        catch (e)
        {
                // Internet Explorer Browsers
                try
                {
                        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e)
                {
                        try
                        {
                                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (e)
                        {
                                // Something went wrong
                                alert("Your browser broke!");
                                return false;
                        }
                }
        }
       
        // Create a function that will receive data sent from the server
        ajaxRequest.onreadystatechange = function()
        {
                var ajaxDisplay = document.getElementById(DivUpdate);
                if (ajaxRequest.readyState == 0 || ajaxRequest.readyState == 1  || ajaxRequest.readyState == 2 ||
                ajaxRequest.readyState == 3 )
                {
                        loading = new Image(); loading.src = "template/themes/images/loading.gif";
                        document.getElementById(DivUpdate).innerHTML = "<img src='template/themes/images/loading.gif' id='loading' />";
                }
               
                if(ajaxRequest.readyState == 4)
                {
                        ajaxDisplay.innerHTML = ajaxRequest.responseText;
                       
                        resultsuser = ajaxRequest.responseText;
                        // evaluate javascript
                        scriptTag='(<script.*?>)((\n|\r|.)*?)(<\/script>)';
                        if (scripts=resultsuser.match(scriptTag))
                        {
                                // remove slashes
                                scripts[2]=scripts[2].replace(/\\/g,"");
                                //run scripts
                                eval(scripts[2]);
                        }               
                }
        }


        ajaxRequest.open("GET",PageOpen + GetString, true);
        ajaxRequest.send(null); 
}


Megnum 30-06-09 00:34

אתה ממש תותח, אני שונא את כל הבעיות השטותיות האלה חבל על הזמן.
שוב תודה !


כל הזמנים הם GMT +2. הזמן כעת הוא 08:40.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ