URL / অ্যাড্রেস বার থেকে জাভাস্ক্রিপ্ট ফাংশন কল করুন


112

ইউআরএল থেকে জাভাস্ক্রিপ্ট ফাংশন কল করা সম্ভব? আমি মূলত আমার কাছে উত্স অ্যাক্সেস নেই এমন একটি পৃষ্ঠায় জেএস পদ্ধতি ব্যবহার করার চেষ্টা করছি।

কিছুটা এইরকম: http://www.example.com/mypage.aspx?javascript:printHelloWorld()

আমি জানি আপনি যদি javascript:alert("Hello World");ঠিকানা বারে রাখেন তবে এটি কার্যকর হবে।

আমি সন্দেহ করি যে এর উত্তরটি আর নয়, কেবল এটি করার কোনও উপায় ছিল কিনা তা ভেবে অবাক হলাম।


3
আপনার ইউআরএলটির কোন আচরণটি প্রদর্শন করতে হবে - আপনি কি সেই সাইটের প্রসঙ্গে জাভাস্ক্রিপ্ট সম্পাদন করতে চান?
পেক্কা

http:কোনো URI শুরুতে ব্রাউজার "আমি তোমার একটি HTTP অনুরোধ করতে চাই", তাই HTTP- র এটা আছে অনুরোধ জানায়। এর আশেপাশে কোনও উপায় নেই, আমার মনে হয়।
কনস্টান্টিন

7
আমি যদি javascript:alert("Hi");আমার ফায়ারফক্স (২৮.০) ঠিকানা বারে আটকান এবং এন্টার টিপতাম তবে কিছুই ঘটে না। হয়ত এই অক্ষম করা হয়েছে? ... হ্যাঁ, আপাতদৃষ্টিতে এটি অক্ষম করা হয়েছে কারণ মূর্খরা তাদের ঠিকানা বারে কিছু আটকানোর বিষয়ে বিশ্বাসী হতে পারে। পাওয়া এখানে তথ্য: stackoverflow.com/a/18782801/111036
mivk

1
কপি পেস্ট কাজ করে না, তবে আপনি এটি টাইপ করলে এটি কাজ করে, দেখে মনে হয় এটি অক্ষম নয়, তবে পেস্ট করার সময় পার্স করা হয়েছে।
ভবানী শঙ্কর মিশ্র

1
দ্রষ্টব্য: এটি কেবল ফায়ারফক্সে কাজ করে যখন ১. আপনি প্রকৃত (খালি নয়) পৃষ্ঠায় এবং ২. আপনি স্পষ্টতই এর আগে "জাভাস্ক্রিপ্ট:" রেখেছেন।
অ্যান্ড্রু

উত্তর:


59

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

তবে আছে bookmarklets আপনি দ্রুত আপনার ঠিকানা দণ্ড থেকে জাভাস্ক্রিপ্ট ফাংশন চালানোর জন্য বুকমার্ক করতে পারেন; এটি আপনার প্রয়োজনগুলি পূরণ করে কিনা তা নিশ্চিত নয় তবে এটি যতটা কাছে যায় তত কাছাকাছি।


5
আমি মূলত উত্সটিতে অ্যাক্সেস না পাওয়ার মতো একটি পৃষ্ঠায় জেএস পদ্ধতিগুলিকে উত্তোলনের চেষ্টা করছি।
DazManCat

27

ঠিকানা বারে লিখুন

javascript:alert("hi");

নিশ্চিত করুন আপনি শুরুতে লিখেছেন: জাভাস্ক্রিপ্ট:


1
এটি গুগল ক্রোম সংস্করণ 80.0.3987.132 (অফিসিয়াল বিল্ড) (64-বিট) এ কাজ করে না। ক্রম স্বয়ংক্রিয়ভাবে javascript:ঠিকানা বার থেকে উপসর্গটি সরিয়ে দেয়।
স্টোমি

2
@ স্টোমি আপনাকে javascript:ম্যানুয়ালি টাইপ করতে হবে , দুর্ভাগ্যক্রমে
wjandrea

24

আপনি ডেটা ইউআরআই ব্যবহার করতে পারেন। উদাহরণ স্বরূপ: data:text/html,<script>alert('hi');</script>

আরও তথ্যের জন্য এখানে যান: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs


1
আমি সর্বদা ভেবেছিলাম ডেটা ইউআরএল কেবল চিত্রগুলির জন্য, ধন্যবাদ এটি সত্যিই আশ্চর্যজনক :)
ফারিদ অ্যালামনোরোটি

2
আপনি এটি কোনও url এ যুক্ত করতে পারবেন না।
vivek_23

কিছু ব্রাউজার এটিকে একটি বার্তা দিয়ে ব্লক করতে পারে:Navigation to toplevel data: URI not allowed (Blocked loading of: “data:text/html,<script>alert('hi');</script>”)
আলেক্সান্ডার রিয়াভভ

এটি গুগল ক্রোম সংস্করণ 80.0.3987.132 (অফিসিয়াল বিল্ড) (64-বিট) এ কাজ করে।
স্টোমি

এটি এর মধ্যে Chrome 80.0.3987.162 (Official Build) (64-bit)এবং এর সাথে কাজ করেFirefox 72.0.2 (64 bit)
অ্যালেক্স প্যানড্রিয়া

6

/test.html#alert('heello ')

test.html
<button onClick="eval(document.location.hash.substring(1))">do it</button>

13
নোট করুন যে এই মূল্যায়নকারী ব্যবহারকারীর ইনপুটটি অত্যন্ত বিপজ্জনক অনুশীলন এবং সাধারণত এটিকে অনুমতি দেওয়া উচিত নয়।
ডোমেনুক

6
হ্যাঁ, এটি বেশ উন্মাদ। এমন কর্মক্ষেত্র রয়েছে যেখানে এই ধরণের উন্মাদতার কারণে আপনি বরখাস্ত হয়ে যাবেন।
জ্যাকব

6
এটি @ ডোমেনুক্ক দ্বারা চিহ্নিত হিসাবে ক্রস-সাইট স্ক্রিপ্টিং (এক্সএসএস) সমস্যাগুলি প্রতিফলিত করে।
pavanw3b

6

আপনি অনুসরণ করতে পারেন

<a href='javascript:alert("hello world!");'>Click me</a>

আপনার এইচটিএমএল-কোডে এবং যখন আপনি 'আমাকে ক্লিক করুন' হাইপারলিংকে ক্লিক করবেন তখন জাভাস্ক্রিপ্টটি ইউআরএল-বারে উপস্থিত হবে এবং সতর্কতা ডায়ালগটি প্রদর্শিত হবে


5
জাভাস্ক্রিপ্টটি কোন ব্রাউজারে ইউআরএল-বারে উপস্থিত হবে ? আমি কখনই দেখিনি। (আমি জাভাস্ক্রিপ্ট জানি: লিঙ্কগুলি কাজ করে, আমি কেবল ইউআরএল বারের বিষয়ে কথা বলি)
সান প্যাট্রিক ফ্লয়েড


এই আমি যা খুঁজছিলাম, এই কি বলা হয়?
থারস্মমনার

4

window.location.hashসম্পত্তি সম্পর্কে :

একটি URL এর অ্যাঙ্কর অংশটি ফিরিয়ে দিন।


উদাহরণ 1:

//Assume that the current URL is 

var URL = "http://www.example.com/test.htm#part2";

var x = window.location.hash;

//The result of x will be:

x = "#part2"

অসাধারণ 2:

$(function(){   
    setTimeout(function(){
        var id = document.location.hash;
        $(id).click().blur();
    }, 200);
})

উদাহরণ 3:

var hash = "#search" || window.location.hash;
window.location.hash = hash; 

switch(hash){   
case "#search":  
    selectPanel("pnlSearch");
    break;    
case "#advsearch":    

case "#admin":  

}

3

এডির উত্তরটি ব্যবহার করা খুব ভালভাবে কাজ করেছিল কারণ আমারও একই ধরণের সমস্যা ছিল। পরামিতিগুলির সাথে আপনার ইউআরএলকে কেবল কল করুন: "www.mypage.html # মাই অ্যাঞ্চর"

তারপরে, আমার পৃষ্ঠায় এইচটিএমএল:

$(document).ready(function(){
  var hash = window.location.hash;
  if(hash.length > 0){
    // your action with the hash
  }
});

2

আপনি এই পরিস্থিতিটির মতো ব্যবহার করতে পারেন: উদাহরণস্বরূপ, আপনার একটি পৃষ্ঠা রয়েছে: http://www.example.com/page.php তারপরে সেই পৃষ্ঠা. php এ, এই কোডটি সন্নিবেশ করুন:

if (!empty($_GET['doaction']) && $_GET['doaction'] == blabla ){
echo '<script>alert("hello");</script>';
}

তারপরে, আপনি যখনই এই url দেখতে যান: http://www.example.com/page.php?doaction=blabla

তারপরে সতর্কতাটি স্বয়ংক্রিয়ভাবে কল করা হবে।

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