javascript আমি কিভাবে অন্য ওয়েব পেজ থেকে পুনঃনির্দেশিত করবেন?





15 Answers

সতর্কতা: এই উত্তরটি কেবল সম্ভাব্য সমাধান হিসাবে সরবরাহ করা হয়েছে; এটা অবশ্যই jQuery এর প্রয়োজনীয়তা হিসাবে সবচেয়ে ভাল সমাধান নয় । পরিবর্তে, বিশুদ্ধ জাভাস্ক্রিপ্ট সমাধান পছন্দ।

$(location).attr('href', 'http://stackoverflow.com')
javascript jquery redirect

কিভাবে jQuery বা বিশুদ্ধ জাভাস্ক্রিপ্ট ব্যবহার করে আমি এক পৃষ্ঠা থেকে অন্য পৃষ্ঠাতে ব্যবহারকারীকে পুনঃনির্দেশিত করতে পারি?




ব্যবহার করুন:

// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')


// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';

// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')



আপনি যা করতে চেষ্টা করছেন তাতে একটু বেশি বর্ণনামূলক হলে এটি আপনাকে সহায়তা করবে। আপনি যদি প্যাজড ডেটা জেনারেট করার চেষ্টা করছেন তবে আপনি কীভাবে এটি করবেন তার কিছু বিকল্প রয়েছে। আপনি সরাসরি পেতে সক্ষম হতে চান এমন প্রতিটি পৃষ্ঠার জন্য পৃথক লিঙ্ক তৈরি করতে পারেন।

<a href='/path-to-page?page=1' class='pager-link'>1</a>
<a href='/path-to-page?page=2' class='pager-link'>2</a>
<span class='pager-link current-page'>3</a>
...

মনে রাখবেন যে উদাহরণের বর্তমান পৃষ্ঠা কোডে এবং CSS সহ ভিন্নভাবে পরিচালিত হয়।

যদি আপনি AJAX এর মাধ্যমে পৃষ্ঠাযুক্ত ডেটা পরিবর্তন করতে চান তবে এইখানেই jQuery আসবে। আপনি যা করতে চান তা একটি ভিন্ন পৃষ্ঠার সাথে সংশ্লিষ্ট নোঙ্গর ট্যাগগুলির একটি ক্লিক হ্যান্ডলার যুক্ত করুন। এই ক্লিক হ্যান্ডলার কিছু jQuery কোড জোগাবে যা AJAX এর মাধ্যমে পরবর্তী পৃষ্ঠাটি এনে এবং নতুন ডেটা সহ টেবিল আপডেট করে। নীচের উদাহরণটি অনুমান করে যে আপনার একটি ওয়েব পরিষেবা রয়েছে যা নতুন পৃষ্ঠা ডেটা প্রদান করে।

$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});



কিন্তু কেউ যদি হোম পেজে পুনঃনির্দেশিত করতে চায় তবে সে নীচের স্নিপেটটি ব্যবহার করতে পারে।

window.location = window.location.host

উন্নয়ন, স্টেজিং এবং উত্পাদন হিসাবে আপনার তিনটি ভিন্ন পরিবেশ থাকলে এটি সহায়ক হবে।

আপনি এই শব্দটি কেবল Chrome কনসোল বা ফায়ারবগ এর কনসোলে রেখে এই উইন্ডোটি বা window.location অবজেক্টটি অন্বেষণ করতে পারেন।







আমি শুরু করার আগে, jQuery একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা DOM ম্যানিপুলেশন ব্যবহার করে। সুতরাং আপনি একটি পৃষ্ঠা পুনঃনির্দেশের জন্য jQuery ব্যবহার করা উচিত নয়।

Jquery.com থেকে একটি উদ্ধৃতি:

পুরানো ব্রাউজারের সংস্করণগুলিতে জাভাস্ক্রিপ্টগুলি কোনও বড় সমস্যা ছাড়াই চালিত হতে পারে তবে আমরা সক্রিয়ভাবে তাদের মধ্যে jQuery পরীক্ষা করে দেখি না এবং সাধারণত তাদের মধ্যে উপস্থিত বাগগুলি ঠিক করতে পারছি না।

এটি এখানে পাওয়া যায়: https://jquery.com/browser-support/

তাই জাভাস্ক্রিপ্ট শেষ নয় এবং পিছনে সামঞ্জস্যের জন্য সব সমাধান।

কাঁচা জাভাস্ক্রিপ্ট ব্যবহার করে নিম্নলিখিত সমাধানগুলি সমস্ত ব্রাউজারে কাজ করে এবং দীর্ঘ সময়ের জন্য মানসম্মত হয় তাই আপনাকে ক্রস ব্রাউজার সমর্থনের জন্য কোন লাইব্রেরিগুলির প্রয়োজন হয় না।

এই পৃষ্ঠাটি 3000 মিলিসেকেন্ড পরে google.com পুনঃনির্দেশিত হবে

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

নিম্নরূপ বিভিন্ন বিকল্প:

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

প্রতিস্থাপন করার সময়, ব্যাক বোতামটি পুনঃনির্দেশ পৃষ্ঠাতে ফিরে যাবে না, যেমন এটি ইতিহাসে কখনও ছিল না। আপনি যদি ব্যবহারকারীকে পুনঃনির্দেশ পৃষ্ঠাতে ফিরে যেতে সক্ষম হন তবে window.location.href বা window.location.assign ব্যবহার করুন। আপনি যদি এমন বিকল্পটি ব্যবহার করেন যা ব্যবহারকারীকে পুনঃনির্দেশ পৃষ্ঠাতে ফিরে যেতে দেয় তবে মনে রাখবেন যে আপনি যখন পুনঃনির্দেশ পৃষ্ঠাটি প্রবেশ করেন তখন এটি আপনাকে পুনঃনির্দেশিত করবে। তাই আপনার পুনঃনির্দেশের জন্য একটি বিকল্প বাছাই বিবেচনা করে যে রাখা। অবস্থার অধীনে যেখানে পৃষ্ঠাটি কেবল তখনই পুনঃনির্দেশিত হয় যখন ব্যবহারকারী দ্বারা কোনও কাজ করা হয় তবে ব্যাক বোতামের ইতিহাসে পৃষ্ঠাটি ঠিক আছে। কিন্তু পৃষ্ঠাটি স্বয়ংক্রিয়ভাবে পুনঃনির্দেশিত হলে আপনার প্রতিস্থাপন করা উচিত যাতে ব্যবহারকারী পুনঃনির্দেশ পাঠানো পৃষ্ঠাতে ফিরে বাধ্য না করে ব্যাক বোতামটি ব্যবহার করতে পারে।

আপনি অনুসরণ হিসাবে একটি পৃষ্ঠা পুনঃনির্দেশ চালানোর জন্য মেটা তথ্য ব্যবহার করতে পারেন।

মেটা রিফ্রেশ করুন

<meta http-equiv="refresh" content="0;url=http://evil.com/" />

মেটা অবস্থান

<meta http-equiv="location" content="URL=http://evil.com" />

BASE হাইজ্যাকিং

<base href="http://evil.com/" />

আপনার অনিচ্ছাকৃত ক্লায়েন্টকে এমন পৃষ্ঠাতে পুনঃনির্দেশিত করার আরও অনেক পদ্ধতি যা তারা যেতে চায় না সেগুলি এই পৃষ্ঠায় পাওয়া যাবে (তাদের মধ্যে একটিও জাভাস্ক্রিপ্টে নির্ভরশীল নয়):

https://code.google.com/p/html5security/wiki/RedirectionMethods

আমি নির্দেশ দিতে চাই, মানুষ এলোমেলোভাবে পুনঃনির্দেশিত করতে চান না। একেবারে প্রয়োজন যখন শুধুমাত্র মানুষ পুনর্নির্দেশ। আপনি এলোমেলোভাবে মানুষ পুনঃনির্দেশিত শুরু হলে তারা আবার আপনার সাইটে যেতে হবে না।

পরের অংশ hypothetical হয়:

আপনি একটি দূষিত সাইট হিসাবে রিপোর্ট পেতে পারেন। যদি এমন হয় তবে যখন লোকেরা আপনার সাইটে একটি লিঙ্কে ক্লিক করে তখন ব্যবহারকারী ব্রাউজার তাদের সতর্ক করে দেয় যে আপনার সাইটটি দূষিত। যদি লোকেরা আপনার সাইটে খারাপ অভিজ্ঞতা রিপোর্ট করে তবে অনুসন্ধান ইঞ্জিনগুলি আপনার রেটিং ড্রপ করা শুরু করতে পারে।

পুনঃনির্দেশ সম্পর্কে Google ওয়েবমাস্টার নির্দেশিকা পর্যালোচনা করুন: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

এখানে একটি মজার সামান্য পৃষ্ঠা যা আপনাকে পৃষ্ঠা থেকে বের করে দেয়।

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

আপনি যদি দুটি পৃষ্ঠার উদাহরণগুলি একত্রিত করেন তবে আপনার পুনরাবৃত্তি একটি শিশু লুপ থাকবে যা গ্যারান্টি দেবে যে আপনার ব্যবহারকারী কখনই আপনার সাইটটি কখনই ব্যবহার করতে চায় না।




আপনি jQuery ছাড়া যে করতে পারেন:

window.location = "http://yourdomain.com";

এবং যদি আপনি শুধুমাত্র jQuery চান তাহলে আপনি এটি করতে পারেন:

$jq(window).attr("location","http://yourdomain.com");



# এইচটিএমএল পাতা jQuery / জাভাস্ক্রিপ্ট ব্যবহার করে পুনঃনির্দেশ

এই উদাহরণ কোড চেষ্টা করুন:

function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "login.php";
    else
        window.location = "Logout.php";
}

আপনি যদি window.location = "www.google.co.in"; হিসাবে একটি সম্পূর্ণ URL দিতে চান window.location = "www.google.co.in";




আপনাকে এই কোডটি আপনার কোডে রাখতে হবে:

$(location).attr("href","http://.com");

আপনার যদি jQuery না থাকে তবে জাভাস্ক্রিপ্টটি দিয়ে যান:

window.location.replace("http://.com");
window.location.href("http://.com");



***** মূল প্রশ্নটি ছিল - "জ্যাকারি ব্যবহার করে কীভাবে পুনরুজ্জীবিত করা যায়", প্রতিক্রিয়া জবাবদিহিতা জেনে নিন >> সম্মিলিত ব্যবহার মামলা *****

জাভাস্ক্রিপ্ট সঙ্গে শুধুমাত্র একটি পৃষ্ঠায় পুনঃনির্দেশিত করার জন্য:

  window.location.href = "/contact/";

অথবা যদি আপনার বিলম্বের প্রয়োজন হয়:

setTimeout(function () {
  window.location.href = "/contact/";
}, 2000);   // Time in milliseconds

jQuery আপনি আরাম সঙ্গে একটি ওয়েব পেজ থেকে উপাদান নির্বাচন করতে পারবেন। আপনি কোনও পৃষ্ঠায় আপনার যা চান তা খুঁজে পেতে পারেন এবং তারপরে বিশেষ প্রভাব যুক্ত করতে, ব্যবহারকারীর ক্রিয়াকলাপগুলিতে প্রতিক্রিয়া জানাতে বা আপনার নির্বাচিত উপাদানটির ভিতরে বা বাইরে বিষয়বস্তু লুকানোর জন্য jQuery ব্যবহার করুন। এই সমস্ত কাজ একটি উপাদান বা একটি ইভেন্ট নির্বাচন কিভাবে বুদ্ধি দিয়ে শুরু।

     $('a,img').on('click',function(e){
         e.preventDefault();
         $(this).animate({
             opacity: 0 //Put some CSS animation here
         }, 500);
         setTimeout(function(){
           // OK, finished jQuery staff, let's go redirect
           window.location.href = "/contact/";
         },500);
     });

কল্পনা করুন যে কেউ স্ক্রিপ্ট / প্লাগিন লিখেছে যা 10000 লাইনের কোড ?! আচ্ছা, jQuery এর সাথে আপনি এই কোডটি কেবল একটি লাইন বা দুটিতে সংযুক্ত করতে পারেন।




jQuery প্রয়োজন হয় না। তুমি এটি করতে পারো:

window.open("URL","_self","","")

এটা যে সহজ!

HTTP অনুরোধটি শুরু করার সর্বোত্তম উপায় হল document.loacation.href.replace('URL')




প্রথমে সঠিকভাবে লিখুন। আপনি অন্য একটি লিঙ্কের জন্য আপনার অ্যাপ্লিকেশন থেকে অন্য লিঙ্কের জন্য একটি অ্যাপ্লিকেশনের মধ্যে নেভিগেট করতে চান। এখানে কোডটি রয়েছে:

window.location.href = "http://www.google.com";

এবং যদি আপনি আপনার অ্যাপ্লিকেশনের মধ্যে পৃষ্ঠাগুলি নেভিগেট করতে চান তবে আমারও কোড আছে, যদি আপনি চান।




জাভাস্ক্রিপ্ট এবং জাভাস্ক্রিপ্টে আমরা এক পেজকে অন্য পৃষ্ঠায় ফিরিয়ে আনতে নিচের কোডটি ব্যবহার করতে পারি:

window.location.href="http://google.com";
window.location.replace("page1.html");



এখানে একটি সময় বিলম্ব বিলম্বিত করা হয়। আপনি যা চান তা বিলম্ব সময় নির্ধারণ করতে পারেন:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>



আমি শুধু আরেকটি নতুন jQuery পদ্ধতির সাথে এই হাস্যকরতা আপডেট করতে হয়েছিল:

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);



Related