<a href=Rjjavascript :; শব্দ> </a> কী করে href অভিব্যক্তি?


228

আমি নিম্নলিখিত পৃষ্ঠাগুলি সময়ে সময়ে ওয়েবপৃষ্ঠায় ব্যবহৃত দেখেছি। যাইহোক, আমি বুঝতে পারি না এটি কী করার চেষ্টা করছে বা কৌশলটি। কেউ দয়া করে বিস্তারিত বলতে পারেন?

<a href="javascript:;"></a>

2
আপনি যদি এর সাথে কোনও জেএস পদ্ধতি কল করতে পারেন তবে যদি আমি ভুল না করে থাকেন তবে .. জাভাস্ক্রিপ্ট: সামোর ফাংশন ()
রব

1
এটি এমন কোনও কিছু করার চেষ্টা করছে না যা সঠিক ক্লিক হ্যান্ডলারের সাহায্যে আরও ভালভাবে পরিচালনা করা যায় না। আপনার এটি এড়ানো উচিত কারণ এটি কুৎসিত, অ্যাক্সেস অ্যাক্সেসযোগ্য এবং লোকেরা javascript:স্কিমটি যেখানে এটি ব্যবহার করা উচিত নয় তা ব্যবহার করতে বাধ্য করেছে ( onclick="javascript:…")
গ্যারেথ

2
: এই পরীক্ষা করে দেখুন stackoverflow.com/a/138233/908879
ajax333221

উত্তর:


247

কোনও <a>উপাদান hrefবা nameঅ্যাট্রিবিউট না থাকলে অবৈধ এইচটিএমএল is

আপনি যদি এটি কোনও লিঙ্ক হিসাবে সঠিকভাবে রেন্ডার করতে চান (যেমন আন্ডারলাইন করা, হ্যান্ড পয়েন্টার ইত্যাদি), তবে এটির কোনও hrefবৈশিষ্ট্য থাকলেই এটি এটি করতে পারে ।

এর মতো কোডটি কখনও কখনও লিঙ্ক তৈরির উপায় হিসাবে ব্যবহৃত হয় তবে hrefবৈশিষ্ট্যে কোনও সত্যিকারের URL সরবরাহ না করেই । বিকাশকারী স্পষ্টতই লিঙ্কটি নিজেই কিছু না করতে চেয়েছিলেন এবং এটি তাঁর জানা সহজতম উপায়।

তাঁর সম্ভবত অন্য কোথাও কিছু জাভাস্ক্রিপ্ট ইভেন্ট কোড রয়েছে যা লিঙ্কটি ক্লিক করার সাথে সাথে ট্রিগার হয়ে গেছে, এবং এটিই সে ঘটতে চাইবে, তবে তিনি চাইছেন এটি একটি সাধারণ <a>ট্যাগ লিঙ্কের মতো দেখতে।

কিছু বিকাশকারী href='#'একই উদ্দেশ্যে ব্যবহার করে তবে এর ফলে ব্রাউজারটি পৃষ্ঠার শীর্ষে ঝাঁপিয়ে দেয়, যা সম্ভবত না চাওয়া হতে পারে। এবং তিনি কেবল href ফাঁকা রাখতে পারলেন না, কারণ href=''বর্তমান পৃষ্ঠায় ফিরে আসা একটি লিঙ্ক (যেমন এটি কোনও পৃষ্ঠা রিফ্রেশের কারণ) causes

এই জিনিসগুলির চারপাশে উপায় আছে। জাভাস্ক্রিপ্ট কোডের খালি বিটটি ব্যবহার করে সেগুলির মধ্যে একটি href, এবং এটি সর্বোত্তম সমাধান না হলেও এটি কাজ করে।


16
কৌতূহলের বাইরে, এটি করার আরও ভাল উপায় কি আছে?
রহমান কালফানে

28
এর চেয়ে ভাল কাজটি হ'ল যদি ইভেন্ট ফাংশনটি করে return false;বা event.preventDefault()তারপরে hrefঅ্যাকশনটি কখনই ডাকা হবে না, তাই আপনি সেখানে আরও বুদ্ধিমান কিছু রাখতে পারেন।
স্পডলি

6
একটি <a>ছাড়া hrefবা nameঅবৈধ নয়; এটি খুব সহজেই একটি বৈধযন্ত্র ব্যবহার করে পরীক্ষা করা যায়।
Jukka K. Korpela

2
খণ্ডটি (# বিভাগ) এমনকি ওয়েব সার্ভারে অনুমান অনুযায়ী প্রেরণ করা উচিত নয়, সুতরাং আপনার ব্রাউজারটি সেখানে কিছু ভুল করছে ces
জোশুয়া ওয়ালশ

2
হ্যাঁ @ যোশিমাস্টার যা বলেছিলেন to যদি ইউআরএলটির কোনও # খণ্ড থাকে , তবে এটি কখনই ওয়েব সার্ভারে প্রেরণ করা হয় না (বা, সুতরাং ফায়ারওয়ালে); এটি কেবল ব্রাউজার দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত হয়। এই ক্ষেত্রে, এর সাথে ট্যাগযুক্ত একটি লিঙ্কে ক্লিক করা <a href="#">... </a>আপনার ব্রাউজারকে কোনও কোথাও এইচটিটিপি অনুরোধ প্রেরণ করবে না; এটি যা করবে তা হ'ল পৃষ্ঠার শীর্ষে স্ক্রোল করা।
মার্ক রিড

38

মূলত পৃষ্ঠাগুলি সরানোর জন্য লিঙ্কটি ব্যবহার করার পরিবর্তে (বা অ্যাঙ্করগুলি), এই পদ্ধতিটি ব্যবহার করে জাভাস্ক্রিপ্ট ফাংশন চালু করা হয়

<script>
function doSomething() {
  alert("hello")
}
</script>
<a href="javascript:doSomething();">click me</a>

লিঙ্কটি ক্লিক করা সতর্কতা ফায়ার করবে।


31

এর গন্তব্যে পৌঁছানোর জন্য কোনও লিঙ্ক এড়ানোর জন্য বেশ কয়েকটি ব্যবস্থা রয়েছে। প্রশ্ন থেকে একটি খুব স্বজ্ঞাত নয়।

একটি ক্লিনার বিকল্পটি ডকুমেন্টে একটি অ-সংজ্ঞায়িত অ্যাঙ্কর href="#no"যেখানে রয়েছে #noতা ব্যবহার করা ।

আপনি পঠনযোগ্যতা বাড়াতে আপনি আরও বেশি শব্দার্থক নাম যেমন # অক্ষম, বা # ক্রিয়া ব্যবহার করতে পারেন।

পদ্ধতির সুবিধা:

  • খালি href = "#" এর "শীর্ষে চলে যাওয়া" প্রভাব এড়িয়ে চলে
  • জাভাস্ক্রিপ্টের ব্যবহার এড়ানো যায়

অপূর্ণতা:

  • আপনাকে অবশ্যই নিশ্চিত হতে হবে যে নথিতে নোঙ্গর নাম ব্যবহার করা হয়নি।

যেহেতু <a>উপাদানটি কোনও লিঙ্ক হিসাবে কাজ করছে না, এই ক্ষেত্রে সর্বোত্তম বিকল্পটি কোনও <a>উপাদান না ব্যবহার করে <div>এবং পছন্দসই লিঙ্কের মতো শৈলী সরবরাহ করে।


13
আমি অ-সংজ্ঞায়িত অ্যাঙ্করটিও পছন্দ করি। যাইহোক, অন্য খারাপ দিকটি এটি আপনার ব্রাউজারের ইতিহাসে অ্যাঙ্কর যুক্ত করে, তাই আমি ওপিতে ফাঁকা জেএস পদ্ধতিটি ব্যবহার করার বিকল্প পছন্দ করি।
জন রেড

10
<a href="javascript:alert('Hello');"></a>

এর জন্য কেবল সংক্ষিপ্ত

<a href="" onclick="alert('Hello'); return false;"></a>

3
ধরনের তবে এটি তুলনামূলক সত্য নয় "পছন্দ করা পছন্দ"। এটি কোনও কারণে প্রথমে এটির ব্যবহারের ফাঁদে পড়ে।
লঙ্ক্যমার্ট

9

এটি ক্লিক করার সময় একেবারে কিছুই না করার লিঙ্ক তৈরি করার একটি উপায় (জাভাস্ক্রিপ্ট ইভেন্টগুলি এর সাথে আবদ্ধ না হলে)।

এটি কোনও লিঙ্ক অনুসরণ না করে জাভাস্ক্রিপ্ট চালানোর একটি উপায়:

<a href="Javascript: doStuff();">link</a>

যখন চালানোর জন্য জাভাস্ক্রিপ্ট আসলে নেই (আপনার উদাহরণের মতো) এটি কিছুই করে না।


আহ আমি দেখি. এটি কার্যকরভাবে লিঙ্কটি অক্ষম করে।
জন লিভারমোর

9

এটি দেখুন:

<a href="Http://WWW.stackoverflow.com">Link to the website opened in different tab</a>
<a href="#MyDive">Link to the div in the page(look at the chaneged url)</a>
<a href="javascript:;">Nothing happens if there is no javaScript to render</a>

4
<a href="javascript:void(0);"></a>

javascript: ব্রাউজারটিকে জাভাস্ক্রিপ্ট কোড লিখতে বলেছে


3

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

যেমন জাভাস্ক্রিপ্ট ইউআরএল হিসাবে নয় তবে handler_function(this.id)কাজ করে worksonClick

সুতরাং এটি প্যাডেন্টিক্যালি স্ট্যান্ডার্ডস-কমপ্লায়েন্ট কোড লেখার মধ্যে একটি পছন্দ যা আপনাকে প্রতিটি হাইপারলিংকের জন্য ম্যানুয়ালি কলটি সামঞ্জস্য করতে জড়িত, বা সামান্য অ-মানক কোড যা একবারে লেখা যেতে পারে এবং সর্বত্র ব্যবহার করা যেতে পারে।


2

সুতরাং এটি ভিতরে জেএস কোড লিখতে ব্যবহৃত href মতো ইভেন্ট শ্রোতার পরিবর্তে এবং এইচটিএমএলের জন্য ট্যাগগুলিকে বৈধ করার জন্য লিঙ্কগুলি onclickএড়ানো ।#hrefa

কীভাবে ব্যবহার করতে হয় সে সম্পর্কে আমার একটি গবেষণা ছিল javascript:hrefবৈশিষ্ট্যের ভিতরে ।

<a href="
     javascript:
        a = 4;
        console.log(a++); 
        a += 2; 
        console.log(a++); 
        if(a < 6){ 
            console.log('a is lower than 6');
        } 
        else 
            console.log('a is greater than 6');
        function log(s){
            console.log(s);
        }
        log('function inplimentation working too');

">Click here</a>

এই কোডের মাধ্যমে আপনি কেবল কলিং ফাংশনগুলির পরিবর্তে সেখানে জেএস কোডগুলিও লিখতে পারেন।


ক্রোম সংস্করণ 68.0.3440.106 (অফিসিয়াল বিল্ড) (-৪-বিট) এ পরীক্ষিত

ফায়ারফক্স কোয়ান্টাম .0১.০.১ (64৪-বিট) এ পরীক্ষিত


-4

সর্বদা সঠিকভাবে কোনও লিঙ্ক রেন্ডার করার সর্বোত্তম উপায় হ'ল CSS এর সাথে নিম্নরূপ:

a {cursor: pointer !important}

থ্রেডে বর্ণিত যেমন অপরিহার্য জিনিসগুলি অনুসরণ করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.