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

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

sUP 27-06-06 16:05

שאלה בנוגע ל JS..
 
איך אני יכול לקחת מידע (נגיד טאג script כלשהו..) מ URL שאני מגדיר?
ושזה יעבוד בצורה דינאמית (AJAX) ..

בעיקרון, אני משתמש ב xmlhttp בשביל להוציא מידע HTML
עכשיו אני צריך פיתרון, אחר, איך להוציא טאג script, כלומר את הפרטים שבתוכו, לתוך העמוד שלי

נגיד אם הגדרתי בתוכו משתנה אז שאני אוכל להשתמש בזה

תודה על העזרה, זה די דחוף!!

eLad 27-06-06 16:26

regular expression שישלוף את התוכן בין <script> ל <\/script>.
הפעלת RE עם מתודת match תחזיר לך קולקשיין, תרוץ עליו ותקבל את מה שאתה רוצה..

eLad 27-06-06 16:31

ככה זה אמור להיראות:
קוד:

var reGetInfoFromTags = new RegExp("<script>(.|\n)+?<\/script>", "igm");
הערות:
1. תפעיל את זה עם מתודת match וזה יחזיר לך קלוקשיין
2. זה יחזיר לך גם את התגים, אם אתה רוצה לנקות את זה, תפעיל עוד RegExp על זה
3. לא הבנתי מה הקשר של לדחוף את המילה AJAX, זה לא קשור לשום דבר
4. בהצלחה

בניה 27-06-06 20:44

הפעלת JS שמתקבל מ AJAX
 
ב"ה

PHP קוד:

<script type="text/javascript">
function 
runJsCode(code) {
var 
dynScript=document.createElement("script");
dynScript.setAttribute('type','text/javascript');
dynScript.setAttribute('text',code);
document.body.appendChild(x);
}
</script> 

פשוט מעבירים לה את הקוד בארגומנט והיא מריצה אותו.

sUP 28-06-06 00:42

תודה לכל מי שעזר,
אבל לא הבנתי מזה מתודת match ..


והרצתי ככה:
PHP קוד:

var geterrors = new RegExp("<script>(.|\n)+?<\/script>"xmlHttp.responseText); 

אבל אין לא עובד
שאני מנסה להציג כל פקודה אחרי השורה הזאת הקוד נדפק

בניה 28-06-06 06:10

ציטוט:

נכתב במקור על ידי sUP
תודה לכל מי שעזר,
אבל לא הבנתי מזה מתודת match ..


והרצתי ככה:
PHP קוד:

var geterrors = new RegExp("<script>(.|\n)+?<\/script>"xmlHttp.responseText); 

אבל אין לא עובד
שאני מנסה להציג כל פקודה אחרי השורה הזאת הקוד נדפק

ב"ה



אחרי שאתה שולח את כתובת הדף בחיבור בHTTPREQUEST אתה צריך גם לשלוח רווח ריק כדי שהחיבוא יסגר.
אם אתה רוצה לעדכן רק JS עם הAJAX אז אתה יכול לשים רק אותו בדף ואז אתה לא תסתבך.
תנסה את זה:
קוד:

<script type="text/javascript">
var rawJs=xmlHttp.responseText;
var cleanJs =rawJs.match("/<script[\s][^>][\s]>(.|\n)+?<\/script>/");
for(var i=0;i<cleanJs.length;i++)
        alert(cleanJs[i]);
</script>


Alon.R 28-06-06 11:21

הודעה מטעם דניאל טוני השמן (sUP):
ציטוט:

המשתנה sendit מחזיר את הערך null במקום שיחזיר את מה שכתוב בין האלה

קוד:

var geterrors = xmlHttp.responseText;
sendit = geterrors.match("/<strong[\s][^>][\s]>(.|\n)+?<\/strong>/");




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

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