কোনও ব্যবহারকারী কোনও মোবাইল ওয়েব ব্রাউজার থেকে আমার ওয়েব সাইটটি দেখছে কিনা তা আমি কীভাবে সনাক্ত করতে পারি যাতে আমি তখন আমার ওয়েব সাইটের উপযুক্ত সংস্করণটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে এবং প্রদর্শন করতে পারি?
কোনও ব্যবহারকারী কোনও মোবাইল ওয়েব ব্রাউজার থেকে আমার ওয়েব সাইটটি দেখছে কিনা তা আমি কীভাবে সনাক্ত করতে পারি যাতে আমি তখন আমার ওয়েব সাইটের উপযুক্ত সংস্করণটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে এবং প্রদর্শন করতে পারি?
উত্তর:
হ্যাঁ, ব্যবহারকারী-এজেন্ট শিরোলেখ পড়ার কৌশলটি করবে।
কিছু আছে তালিকার বাইরে যাতে আপনি গোড়া থেকে শুরু করতে প্রয়োজন হবে না পরিচিত মোবাইল ব্যবহারকারী এজেন্ট আছে। আমার যখন যা করতে হয়েছিল তা হ'ল পরিচিত ব্যবহারকারী এজেন্টগুলির একটি ডাটাবেস তৈরি করা এবং অজানাগুলি সংরক্ষণ করার জন্য তারা সনাক্ত করা হয় এবং তারপরে ম্যানুয়ালি সেগুলি কী তা নির্ধারণ করতে পারে। এই শেষ জিনিসটি কিছু ক্ষেত্রে ওভারকিল হতে পারে।
আপনি যদি অ্যাপাচি স্তরে এটি করতে চান, আপনি এমন একটি স্ক্রিপ্ট তৈরি করতে পারেন যা ব্যবহারকারী এজেন্টকে পরীক্ষা করে নিয়মিতভাবে পুনরায় লেখার নিয়মগুলির একটি সেট তৈরি করে (বা কেবল একবার এবং নতুন ব্যবহারকারী এজেন্টদের সম্পর্কে ভুলে যান, বা মাসে একবার আপনার মামলার অনুসারে), যেমন
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (OneMobileUserAgent|AnotherMobileUserAgent|...)
RewriteRule (.*) mobile/$1
উদাহরণস্বরূপ, যা http: //domain/index.html তে http: //domain/mobile/index.html তে অনুরোধ করবে
যদি আপনি পর্যায়ক্রমে কোনও htaccess ফাইল পুনরায় তৈরি করার স্ক্রিপ্টটি পছন্দ না করেন তবে আপনি এমন একটি মডিউল লিখতে পারেন যা ব্যবহারকারী এজেন্টকে পরীক্ষা করে (আমি ইতিমধ্যে তৈরি কোনওটি পাই নি তবে এটি বিশেষভাবে উপযুক্ত উদাহরণ খুঁজে পেয়েছি ) এবং ব্যবহারকারী এজেন্টগুলি পেতে পারেন তাদের আপডেট করার জন্য কিছু সাইট থেকে। তারপরে আপনি যতটা চাইছেন পদ্ধতিকে জটিল করে তুলতে পারেন তবে আমি মনে করি আপনার ক্ষেত্রে আগের পদ্ধতিটি ভাল হবে।
সনাক্ত মোবাইল ব্রাউজারে ওপেন সোর্স স্ক্রিপ্ট রয়েছে যা এটি অ্যাপাচি, এএসপি, কোল্ডফিউশন, জাভাস্ক্রিপ্ট এবং পিএইচপিতে করে।
শুধু একটি চিন্তা কিন্তু আপনি যদি বিপরীত দিক থেকে এই সমস্যাটি কাজ করেন? কোন ব্রাউজারগুলি মোবাইল তা নির্ধারণ করার পরিবর্তে কোন ব্রাউজারগুলি নয় তা নির্ধারণ করবেন না কেন? তারপরে আপনার সাইটটিকে মোবাইল সংস্করণে ডিফল্ট করতে কোড করুন এবং মানক সংস্করণে পুনর্নির্দেশ করুন। মোবাইল ব্রাউজারটি দেখার সময় দুটি প্রাথমিক সম্ভাবনা রয়েছে। হয় এটির জাভাস্ক্রিপ্ট সমর্থন আছে বা এটি নেই। সুতরাং ব্রাউজারটিতে জাভাস্ক্রিপ্ট সমর্থন না থাকলে এটি মোবাইল সংস্করণে ডিফল্ট হবে। এটিতে জাভাস্ক্রিপ্ট সমর্থন থাকলে স্ক্রিনের আকারটি পরীক্ষা করুন। নির্দিষ্ট আকারের নীচের যে কোনও কিছু সম্ভবত মোবাইল ব্রাউজারও হতে পারে। আরও বড় যে কোনও কিছুই আপনার মানক বিন্যাসে পুনঃনির্দেশিত হবে। তারপরে আপনাকে যা করতে হবে তা নির্ধারণ করে জাভা স্ক্রিপ্ট অক্ষম করা ব্যবহারকারী মোবাইল কিনা or
ডাব্লু 3 সি অনুসারে জাভাস্ক্রিপ্ট অক্ষম ব্যবহারকারীদের সংখ্যা প্রায় 5% ছিল এবং সেই ব্যবহারকারীদের মধ্যে বেশিরভাগই এটি বন্ধ করে দিয়েছেন যা বোঝায় যে তারা ব্রাউজারের সাহায্যে কী করছে। তারা কি আপনার শ্রোতার একটি বড় অংশ? যদি না হয় তবে তাদের নিয়ে চিন্তা করবেন না। যদি তা হয় তবে সবচেয়ে খারাপ পরিস্থিতি কী? আপনার সেই ব্যবহারকারীরা আপনার সাইটের মোবাইল সংস্করণ ব্রাউজ করছেন এবং এটি একটি ভাল জিনিস।
আমি এটি জাভাস্ক্রিপ্টে কীভাবে করব:
function isMobile() {
var index = navigator.appVersion.indexOf("Mobile");
return (index > -1);
}
Www.tablemaker.net/test/mobile.html এ একটি উদাহরণ দেখুন যেখানে এটি মোবাইল ফোনে ফন্টের আকারকে তিনগুণ করে।
আমার প্রিয় মোবাইল ব্রাউজার সনাক্তকরণ প্রক্রিয়াটি ডাব্লুআরএফএল । এটি প্রায়শই আপডেট হয় এবং এটি প্রতিটি বড় প্রোগ্রামিং / ভাষা প্ল্যাটফর্মের সাথে কাজ করে।
আপনি কি CSS3 মিডিয়া ক্যোয়ারী ব্যবহার বিবেচনা করেছেন? বেশিরভাগ ক্ষেত্রে আপনি সাইটের পৃথক মোবাইল সংস্করণ তৈরি না করেই লক্ষ্যবস্তু ডিভাইসের জন্য কিছু সিএসএস শৈলী প্রয়োগ করতে পারেন।
@media screen and (max-width:1025px) {
#content {
width: 100%;
}
}
আপনি যা চান প্রস্থ সেট করতে পারেন, তবে 1025 আইপ্যাড ল্যান্ডস্কেপ ভিউটি ধরবে।
আপনি নিজের মাথায় নিম্নলিখিত মেটা ট্যাগ যুক্ত করতে চাইবেন:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
পরীক্ষা করে দেখুন এই নিবন্ধটি কিছু ভাল উদাহরণের জন্য HTML5 রকসহল ধরে
জন্য Android, iPhone, রহমান, ব্ল্যাকবেরী, তাল, উইন্ডোজ সিই, করতল
<script language="javascript"> <!--
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if (mobile) {
alert("MOBILE DEVICE DETECTED");
document.write("<b>------------------------------------------<br>")
document.write("<b>" + navigator.userAgent + "<br>")
document.write("<b>------------------------------------------<br>")
var userAgent = navigator.userAgent.toLowerCase();
if ((userAgent.search("android") > -1) && (userAgent.search("mobile") > -1))
document.write("<b> ANDROID MOBILE <br>")
else if ((userAgent.search("android") > -1) && !(userAgent.search("mobile") > -1))
document.write("<b> ANDROID TABLET <br>")
else if ((userAgent.search("blackberry") > -1))
document.write("<b> BLACKBERRY DEVICE <br>")
else if ((userAgent.search("iphone") > -1))
document.write("<b> IPHONE DEVICE <br>")
else if ((userAgent.search("ipod") > -1))
document.write("<b> IPOD DEVICE <br>")
else if ((userAgent.search("ipad") > -1))
document.write("<b> IPAD DEVICE <br>")
else
document.write("<b> UNKNOWN DEVICE <br>")
}
else
alert("NO MOBILE DEVICE DETECTED"); //--> </script>
মোবাইল ডিভাইস ব্রাউজার ফাইলটি এএসপি.এনইটি প্রকল্পগুলির জন্য মোবাইল (এবং অন্যান্য) ব্রোসওয়ারগুলি সনাক্ত করার একটি দুর্দান্ত উপায়: http://mdbf.codeplex.com/
আপনি কেবল সহজেই মোবাইল ক্লায়েন্টগুলি সনাক্ত করতে পারেন navigator.userAgent
এবং সনাক্ত করা ক্লায়েন্টের প্রকারের ভিত্তিতে বিকল্প স্ক্রিপ্টগুলি লোড করতে পারেন :
$(document).ready(function(e) {
if(navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)) {
//write code for your mobile clients here.
var jsScript = document.createElement("script");
jsScript.setAttribute("type", "text/javascript");
jsScript.setAttribute("src", "js/alternate_js_file.js");
document.getElementsByTagName("head")[0].appendChild(jsScript );
var cssScript = document.createElement("link");
cssScript.setAttribute("rel", "stylesheet");
cssScript.setAttribute("type", "text/css");
cssScript.setAttribute("href", "css/alternate_css_file.css");
document.getElementsByTagName("head")[0].appendChild(cssScript);
}
else{
// write code for your desktop clients here
}
});
আপনি ব্যবহারকারীর এজেন্ট স্ট্রিং পরীক্ষা করতে পারেন। জাভাস্ক্রিপ্টে, এটি সত্যিই সহজ, এটি নেভিগেটর অবজেক্টের কেবল একটি সম্পত্তি।
var useragent = navigator.userAgent;
ডিভাইসটি আইএস বা ব্ল্যাকবেরি জেএসে এমন কিছুর সাথে রয়েছে কিনা তা আপনি চেক করতে পারেন
var isIphone = !!agent.match(/iPhone/i),
isBlackberry = !!agent.match(/blackberry/i);
যদি আইফোন সত্য হয় আপনি কোনও আইফোন থেকে সাইটটি অ্যাক্সেস করছেন, যদি ব্ল্যাকবেরি হয় তবে আপনি ব্ল্যাকবেরি থেকে সাইটটি অ্যাক্সেস করছেন।
এটি পরীক্ষা করার জন্য আপনি ফায়ারফক্সের জন্য "ইউজার এজেন্ট স্যুইচার" প্লাগইন ব্যবহার করতে পারেন।
আপনি যদি আগ্রহী হন তবে আমার স্ক্রিপ্ট "redirection_mobile.js" পরীক্ষাটি এখানে মূল্যবান হতে পারে এখানে https://github.com/sebarmeli/JS- পুনঃনির্দেশ- মোবাইল- সাইট এবং আপনি যে কোনও একটিতে আরও বিশদ পড়তে পারেন আমার নিবন্ধ এখানে:
আপনি কোন ভাষাটি ব্যবহার করছেন তা আপনি বলেননি। যদি এটি পার্ল হয় তবে এটি তুচ্ছ:
use CGI::Info;
my $info = CGI::Info->new();
if($info->is_mobile()) {
# Add mobile stuff
}
unless($info->is_mobile()) {
# Don't do some things on a mobile
}
হ্যাঁ ব্যবহারকারী-এজেন্ট মোবাইল ব্রাউজারগুলি সনাক্ত করতে ব্যবহৃত হয়। এটি পরীক্ষা করার জন্য প্রচুর ফ্রি স্ক্রিপ্ট উপলব্ধ। এখানে এমন একটি পিএইচপি কোড রয়েছে যা আপনাকে মোবাইল ব্যবহারকারীদের বিভিন্ন ওয়েবসাইটে পুনঃনির্দেশ করতে সহায়তা করবে।
আমি স্ক্রিপ্টগুলি এবং উদাহরণগুলি একসাথে অন্তর্ভুক্ত করে এই ডেমোটি রেখেছি:
http://www.mlynn.org/2010/06/mobile-device-detection-and-redirection-with-php/
এই উদাহরণটি ব্যবহারকারী এজেন্ট সনাক্তকরণের জন্য পিএইচপি ফাংশনগুলি ব্যবহার করে এবং ব্যবহারকারীদের সাইটের কোনও সংস্করণের জন্য অগ্রাধিকারের অনুমতি দেওয়ার অতিরিক্ত সুবিধা দেয় যা তাদের ব্রাউজার বা ডিভাইসের ধরণের ভিত্তিতে সাধারণত ডিফল্ট হতে পারে না। এটি কুকিগুলির সাথে সম্পন্ন হয়েছে (জাভাস্ক্রিপ্টের বিপরীতে সার্ভার-সাইডে পিএইচপি ব্যবহার করে রক্ষণাবেক্ষণ করা))
উদাহরণগুলির জন্য নিবন্ধে ডাউনলোড লিঙ্কটি পরীক্ষা করে দেখুন Be
আশা করি তুমি উপভোগ কর!
মোবাইলইএসপি- তে পিএইচপি, জাভা, এপিএস.এনইটি (সি #), রুবি এবং জাভাস্ক্রিপ্ট হুক রয়েছে। এটিতে অ্যাপাচি 2 লাইসেন্স রয়েছে, তাই বাণিজ্যিক ব্যবহারের জন্য এটি বিনামূল্যে। আমার কাছে মুখ্য বিষয় হ'ল এটি কেবল ব্রাউজার এবং প্ল্যাটফর্মগুলি নয় যা স্ক্রিনের আকার এবং অন্যান্য মেট্রিকগুলিকে সনাক্ত করে, যা এটি খুব সুন্দর রাখে।
জেন্ড ফ্রেমওয়ার্ক ব্যবহার করে একদম নতুন সমাধান রয়েছে। লিঙ্কটি থেকে Zend_HTTP_UserAgent এ শুরু করুন: