View Single Post
ישן 27-04-12, 13:21   # 9
gillllll
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
הודעות: 363

gillllll לא מחובר  

לסיכום באיזה דרך פעולה אני בחרתי ומחשבות בנושא:
קודם תודה למגיבים אדיר השתמשתי בשורה לפתרון השני כפי שתראה. אבל לפני שנכנס לקוד לטובת אנשים שיגיעו לכאן בעתיד לאחר חיפוש גוגל בנושא יוכלו למצוא קצת יותר מידע .
מצאתי פרויקט של מישהו בשם אנתוני שפיתח ספרייה לבדיקת מכשירים ניידים (וגם לא כל כך ניידים) הקוד שלו בהחלט מעורר התפעלות בעיקר בשל מגוון המכשירים שהוא יודע לזהות. קינדל, אתרי WAP, אפל, מוצרי גוגל וכו... לכל אחד הוא התאים פונקציה שניתן להריץ בהתאם לצרכים שלכם באתר.
http://blog.mobileesp.com/?page_id=20
אישית לא השתמשתי כי במקרה שלי זה להשתמש במרגמה להרוג זבוב. לאתרים יותר מתוחכמים שפונים למכשירים מוזרים אני בהחלט ממליץ. כמו כן שלחתי לאנתוני מייל שיוסיף זיהוי למנועי חיפוש מותאים סלולרי כפי שאני הוספתי.


בעניין הפתרון שלי:
הפתרון שלי מחולק ל2 אחד קובץ MDETECT שכולל פונקציה לזיהוי מכשיר סלולרי ומחזירה אמת או שקר (תודו באנגלית זה נשמע טוב יותר):
קוד:
<?php
function mobile_check(){
	if(isset($_SERVER['HTTP_USER_AGENT']))
	{
		$uagent =  $_SERVER['HTTP_USER_AGENT'];
		$mobile_agents = '!(tablet|pad|mobile|phone|symbian|android|ipod|ios|blackberry|webos)!i';
		if(preg_match($mobile_agents,$uagent)) return true;
		if(preg_match('/Googlebot-Mobile/i', $uagent) || preg_match('/YahooSeeker\/M1A1-R2D2/i', $uagent) return true;
	}else{
			return false;
	}
}
?>
ובדף עצמו עליו אנו רוצים לבצע את הבדיקה מכניסים את השורות הבאות:
קוד:
      include("includes/mdetect.php");
	  if ((mobile_check())&&($_GET["mobile"]!='false')) 
          header("Location: http://m.domain.com{$_SERVER['REQUEST_URI']}");
בחרתי לבנתיים לא להשתמש בקוקי לזהות העדפות משתמש לאתר רגיל או מותאם. אלא בבדיקה אם שלחתי למשתמש באמצעות GET MOBILE אמת או שקר. מי שרוצה מוזמן להוסיף.
דבר שני יש כאן כל מיני ניואנסים לגבי סוגי דפדפן שבחרתי לבדוק בחרתי דוקא באילו כי אני מניח שהם הכי נפוצים ויקראו בתקווה HTML 5 כפי שצריך. אולי אני טועה אשמח אם תתקנו אותי או תעזרו לי להוסיף עוד. בכל מקרה זה משהו שצריך לשים לב אליו אם אתם משתמשים בקוד.
הדבר השני, יותר תכנותי ומבדיל ביחס לקודים אחרים שמצאתי שימוש ב pregmatch עם !i כדי לא להגביל לקייס סנסיטיב כי אין התנהגות אחידה בהדר הדפדפנים לגבי זה.
ודבר שלישי בעניין התאמה למנועי חיפוש לקחתי את שמות מנועי החיפוש מתוך פלאגין של וורדפרס שפירסמתי בהתחלה , יתכן וקיימים עוד או שהם ישתנו. אבל שמתי לב שבתנאי הראשון אנו בודקים ב MOBILE AGENTS - mobile אני מניח שזה יזהה גם במקרה הזה את המנוע של גוגל אבל בכל זאת הכנסתי למקרה שגוגל יחליטו לעשות שינוי בשם הדפדפן או אם הוא יחמוק. תקנו אותי אם אני טועה בחשיבה שלי לפי דעתכם.
__________________
- חייך הכל לטובה .

Last edited by gillllll; 27-04-12 at 14:44..
  Reply With Quote