Differences

This shows you the differences between the selected revision and the current version of the page.


joomla:pdf-display-ie-bug-fixed 2009/06/01 12:03 joomla:pdf-display-ie-bug-fixed 2009/06/01 12:22 current
Line 1: Line 1:
====== วิธีแก้ปัญหา plugin "PDF" ไม่แสดงผลใน Internet Explorer เวอร์ชั่น 7 หรือสูงกว่า ====== ====== วิธีแก้ปัญหา plugin "PDF" ไม่แสดงผลใน Internet Explorer เวอร์ชั่น 7 หรือสูงกว่า ======
-  - สร้างไฟล์ใหม่ใช้ชื่อว่า browser_detection.php แล้วนำขึ้นไปใส่ไว้ใน folder ./libraries/joomla/utilities/+1. สร้างไฟล์ใหม่ใช้ชื่อว่า browser_detection.php โดย copy โ้ค้ดด้านล่างไปใส่ บันทึกแล้วนำขึ้นไปใส่ไว้ใน folder ./libraries/joomla/utilities/
  <?php   <?php
 + 
 +  /*
 +  Script Name: Simple 'if' PHP Browser detection
 +  Author: Harald Hope, Website: http://TechPatterns.com/
 +  Script Source URI: http://TechPatterns.com/downloads/php_browser_detection.php
 +  Version 2.0.2
 +  Copyright (C) 29 June 2007
 + 
 +  Modified 22 April 2008 by Jon Czerwinski
 +  Added IE 7 version detection
 + 
 +  This program is free software; you can redistribute it and/or modify it under
 +  the terms of the GNU General Public License as published by the Free Software
 +  Foundation; either version 3 of the License, or (at your option) any later version.
 + 
 +  This program is distributed in the hope that it will be useful, but WITHOUT
 +  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 +  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 + 
 +  Get the full text of the GPL here: http://www.gnu.org/licenses/gpl.txt
-/* +  Coding conventions: 
-Script Name: Simple 'if' PHP Browser detection +  http://cvs.sourceforge.net/viewcvs.py/phpbb/phpBB2/docs/codingstandards.htm?rev=1.3 
-Author: Harald Hope, Website: http://TechPatterns.com+  */ 
-Script Source URI: http://TechPatterns.com/downloads/php_browser_detection.php +    
-Version 2.0.2 +  /* 
-Copyright (C) 29 June 2007+  the order is important, because opera must be tested first, and ie4 tested for before ie general 
 +  same for konqueror, then safari, then gecko, since safari navigator user agent id's with 'gecko' in string. 
 +  note that $dom_browser is set for all  modern dom browsers, this gives you a default to use, unfortunately we 
 +  haven't figured out a way to do this with actual method testing, which would be much better and reliable. 
 +   
 + Please note: you have to call the function in order to get access to the variables, you call it by this: 
 +   
 +  browser_detection('browser'); 
 +   
 +  then put you code that you want to use the variables with after that. 
 +   
 +  */ 
 +   
 +  function browser_detection( $which_test ) { 
 +   
 +          // initialize the variables 
 +         $browser = ''; 
 +          $dom_browser = ''; 
 +   
 +          // set to lower case to avoid errors, check to see if http_user_agent is set 
 +          $navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : ''; 
 +   
 +          // run through the main browser possibilities, assign them to the main $browser variable 
 +          if (stristr($navigator_user_agent, "opera"))  
 +          { 
 +                  $browser = 'opera'; 
 +                  $dom_browser = true; 
 +          } 
 +   
 +  /
 +  Test for IE 7 added 
 +  April 22, 2008 
 +  Jon Czerwinski 
 +  *
 +         elseif (stristr($navigator_user_agent, "msie 8"))  /* add for IE8 */ 
 + {  
 +          $browser = 'msie8'; 
 +          $dom_browser = false; 
 +  }  
 +   
 +          elseif (stristr($navigator_user_agent, "msie 7"))  
 +          { 
 +                  $browser = 'msie7';  
 +                  $dom_browser = false; 
 +          } 
 +   
 +          elseif (stristr($navigator_user_agent, "msie 4"))  
 +          { 
 +                  $browser = 'msie4';  
 +                  $dom_browser = false; 
 +          } 
 +   
 +          elseif (stristr($navigator_user_agent, "msie"))  
 +          { 
 +                  $browser = 'msie';  
 +                  $dom_browser = true; 
 +          } 
 +   
 +          elseif ((stristr($navigator_user_agent, "konqueror")) || (stristr($navigator_user_agent, "safari")))  
 +          { 
 +                  $browser = 'safari';  
 +                  $dom_browser = true; 
 +          } 
 +   
 +          elseif (stristr($navigator_user_agent, "gecko"))  
 +          { 
 +                  $browser = 'mozilla'; 
 +                  $dom_browser = true; 
 +          } 
 +   
 +          elseif (stristr($navigator_user_agent, "mozilla/4"))  
 +          { 
 +                  $browser = 'ns4'; 
 +                  $dom_browser = false; 
 +          } 
 +   
 +          else  
 +          { 
 +                  $dom_browser = false; 
 +                  $browser = false; 
 +          } 
 +   
 +          // return the test result you want 
 +          if ( $which_test == 'browser' ) 
 +          { 
 +                  return $browser; 
 +          } 
 +          elseif ( $which_test == 'dom' ) 
 +          { 
 +                  return $dom_browser; 
 +                  //  note: $dom_browser is a boolean value, true/false, so you can just test if 
 +                  // it's true or not. 
 +          } 
 +  }
-Modified 22 April 2008 by Jon Czerwinski +  /* 
-Added IE 7 version detection+ you would call it like this:
-This program is free software; you can redistribute it and/or modify it under  +  $user_browser = browser_detection('browser'); 
-the terms of the GNU General Public License as published by the Free Software +    
-Foundation; either version 3 of the License, or (at your option) any later version. + if ( $user_browser == 'opera' ) 
-  + {
-This program is distributed in the hope that it will be useful, but WITHOUT  +
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +
-  +
-Get the full text of the GPL here: http://www.gnu.org/licenses/gpl.txt +
-  +
-Coding conventions: +
-http://cvs.sourceforge.net/viewcvs.py/phpbb/phpBB2/docs/codingstandards.htm?rev=1.3 +
-*/ +
-  +
-/* +
-the order is important, because opera must be tested first, and ie4 tested for before ie general +
-same for konqueror, then safari, then gecko, since safari navigator user agent id's with 'gecko' in string. +
-note that $dom_browser is set for all  modern dom browsers, this gives you a default to use, unfortunately we +
-haven't figured out a way to do this with actual method testing, which would be much better and reliable. +
-  +
-Please note: you have to call the function in order to get access to the variables, you call it by this: +
-  +
-browser_detection('browser'); +
-  +
-then put you code that you want to use the variables with after that. +
-  +
-*/ +
-  +
-function browser_detection( $which_test ) { +
-  +
-        // initialize the variables +
-        $browser = ''; +
-        $dom_browser = ''; +
-  +
-        // set to lower case to avoid errors, check to see if http_user_agent is set +
-        $navigator_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : ''; +
-  +
-        // run through the main browser possibilities, assign them to the main $browser variable +
-        if (stristr($navigator_user_agent, "opera"))  +
-        { +
-                $browser = 'opera'; +
-                $dom_browser = true; +
-        } +
-  +
-/* +
-Test for IE 7 added +
-April 22, 2008 +
-Jon Czerwinski +
-*/ +
-        elseif (stristr($navigator_user_agent, "msie 7"))  +
-        { +
-                $browser = 'msie7';  +
-                $dom_browser = false; +
-        } +
-  +
-        elseif (stristr($navigator_user_agent, "msie 4"))  +
-        { +
-                $browser = 'msie4';  +
-                $dom_browser = false; +
-        } +
-  +
-        elseif (stristr($navigator_user_agent, "msie"))  +
-        { +
-                $browser = 'msie';  +
-                $dom_browser = true; +
-        } +
-  +
-        elseif ((stristr($navigator_user_agent, "konqueror")) || (stristr($navigator_user_agent, "safari")))  +
-        { +
-                $browser = 'safari';  +
-                $dom_browser = true; +
-        } +
-  +
-        elseif (stristr($navigator_user_agent, "gecko"))  +
-        { +
-                $browser = 'mozilla'; +
-                $dom_browser = true; +
-        } +
-  +
-        elseif (stristr($navigator_user_agent, "mozilla/4"))  +
-        { +
-                $browser = 'ns4'; +
-                $dom_browser = false; +
-        } +
-  +
-        else  +
-        { +
-                $dom_browser = false; +
-                $browser = false; +
-        } +
-  +
-        // return the test result you want +
-        if ( $which_test == 'browser' ) +
-        { +
-                return $browser; +
-        } +
-        elseif ( $which_test == 'dom' ) +
-        { +
-                return $dom_browser; +
-                //  note: $dom_browser is a boolean value, true/false, so you can just test if +
-                // it's true or not. +
-        } +
-+
-  +
-/* +
-you would call it like this: +
-  +
-$user_browser = browser_detection('browser'); +
-  +
-if ( $user_browser == 'opera' ) +
-{+
        do something;         do something;
-+ 
-  +    
-or like this: + or like this: 
-  +    
-if ( browser_detection('dom') ) + if ( browser_detection('dom') ) 
-+
-       execute the code for dom browsers +         execute the code for dom browsers 
-+
-else + else 
-+
-       execute the code for non DOM browsers +         execute the code for non DOM browsers 
-+
-  +    
-and so on....... + and so on....... 
-  +    
-  +    
-*/ + */ 
-?>+ ?> 
 +2. แก้ไขไฟล์ icon.php ที่อยู่ใน folder ./components/com_content/helpers/ โดยทำการสำรองไฟล์ icon.php ก่อนเพื่อเก็บไว้ใช้ภายหลัง โดยอาจสำรองไว้ในชื่อ icon.php.bak ซึ่งตำแหน่งที่ทำการแก้ไขมีจำนวน 2 จุดดังนี้
-  - แก้ไขไฟล์ icon.php ที่อยู่ใน folder ./components/com_content/helpers/ โดยทำการสำรองไฟล์ icon.php ก่อนเพื่อเก็บไว้ใช้ภายหลัง โดยอาจสำรองไว้ในชื่อ icon.php.bak ซึ่งตำแหน่งที่ทำการแก้ไขมีจำนวน 2 จุดดังนี้ +2.1 ไปที่บรรทัดแรกสุดของไฟล์ เว้นวรรคหนึ่งเคาะ ต่อจากเครื่องหมายเปิด Tag ของไฟล์ php"<?php.." แล้วเิพิ่มโค้ดต่อไปนี้
-    * ไปที่บรรทัดแรกสุดของไฟล์ เิพิ่มโค้ดต่อไปนี้ โดยเว้นวรรคหนึ่งเคาะ ต่อจากเครื่องหมายเปิด Tag ของไฟล์ php"<?php.."+
  require_once("libraries/joomla/utilities/browser_detection.php");   require_once("libraries/joomla/utilities/browser_detection.php");
-      * ไปยังบรรทัดที่ 58 ของไฟล์+2.2 ไปยังบรรทัดที่ 58 ของไฟล์
  แทนที่   แทนที่
Line 160: Line 167:
  ด้วยโค้ดต่อไปนี้   ด้วยโค้ดต่อไปนี้
  $user_browser = browser_detection('browser');   $user_browser = browser_detection('browser');
-  if ($user_browser == 'msie7') {+  if ($user_browser == 'msie7'|| $user_browser == 'msie8') {
    $attribs['target'] = '_blank';     $attribs['target'] = '_blank';
  } else {                      } else {                   
Line 166: Line 173:
  }   }
 +2.3 บันทึกจัดเก็บและนำ้ไว้วางไว้ที่ folder ./components/com_content/helpers/
**ที่มา** **ที่มา**

Personal Tools
Creative Commons License
STKS Online Learning โดย http://stks.or.th/wiki อนุญาตให้ใช้ได้ตาม สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน 3.0 ประเทศไทย.