मैं अपने ओएस वरीयता के कारण साइटों (एक ब्राउज़र में) को मुझे अलग तरीके से कैसे रोक सकता हूं?


1

मेरे द्वारा उपयोग की जाने वाली एक साइट में एक ब्राउज़र चेक होता है जो इसे निष्पादित करता है, और क्योंकि मेरे ब्राउज़र इंगित करते हैं कि वे लिनक्स हैं, न कि विंडोज या मैक यह पॉप अप होता है (प्रत्येक पृष्ठ पर) एक चेतावनी जो मैं "असमर्थित" ओएस का उपयोग कर रहा हूं।
मैंने उपयोगकर्ता एजेंट को गलत साबित करने की कोशिश की है, लेकिन लगता है कि क्रोम उस सेटिंग को सहेज नहीं रहा है, और उपयोगकर्ता-एजेंट स्विचर एक्सटेंशन अप्रभावी लग रहे हैं।

ब्राउज़र का पता लगाना एक एकल जावास्क्रिप्ट फ़ाइल में बंडल किया जाना प्रतीत होता है। इसलिए, मुझे पता है कि अगर मैं उस फ़ाइल को ब्लैकलिस्ट या प्रतिबंधित कर सकता हूं तो यह मेरे "असमर्थित" ओएस के बारे में मुझे बताना बंद कर देगा।

तो, मैं उस फ़ाइल को ब्लैकलिस्ट करने या प्रतिबंधित करने के बारे में कैसे जाऊंगा कई ब्राउज़रों के लिए काम करने वाले समाधान एक बोनस हैं।


क्या आप उस पेज का लिंक पोस्ट कर सकते हैं?
Dennis

जवाबों:


1

आप एक उपयोगकर्ता स्क्रिप्ट के साथ एक ही परिणाम प्राप्त कर सकते हैं। यह बाहरी जावास्क्रिप्ट को लोड होने से नहीं रोकेगा, लेकिन यह जावास्क्रिप्ट कार्यों को अक्षम कर देगा alert() तथा confirm()। जावास्क्रिप्ट के साथ बैनर को हटाने से झिलमिलाहट हो सकती है, लेकिन आप इसे छिपाने के लिए सीएसएस को इंजेक्ट कर सकते हैं।

उपयोगकर्ता स्क्रिप्ट

// ==UserScript==
// @name        No Nagging
// @description Disables nagging on harrison.edu
// @version     1.2
// @include     *://harrison.edu/*
// @include     *://*.harrison.edu/*
// @run-at      document-start 
// ==/UserScript==

var script = document.createElement('script');
var style = document.createElement('style');

script.appendChild(document.createTextNode(
    'window.alert=function(){};' + 
    'window.confirm=function(){};'
));

style.appendChild(document.createTextNode(
    '.topmenubar{display:none;}'
));

var interval = setInterval(function() {
    if (document.head) {
        document.head.appendChild(script);
        document.head.appendChild(style);
        clearInterval(interval);
    }
}, 10);

यह काम किस प्रकार करता है

पहले चार निर्देश बनाते हैं <script> तथा <style> तत्वों। जावास्क्रिप्ट अंदर <script> वैश्विक कार्यों को प्रतिस्थापित करता है alert() तथा confirm() खाली कार्यों के साथ; सीएसएस अंदर <style> बैनर छुपाता है।

<script>
    window.alert=function(){};
    window.confirm=function(){};
</script>

<style>
    .topmenubar{display:none;}
</style>

अगला, हम एक अंतराल बनाते हैं जो प्रत्येक 10 एमएस में जांचता है <head> तत्व पहले से मौजूद है।

जब यह होता है, हम बनाए गए तत्वों को जोड़ते हैं <head> और अंतराल को रद्द करें।

स्थापित कैसे करें

  1. स्क्रिप्ट को इस रूप में सहेजें no-nagging.user.js

    • खुला chrome://extensions

    • खींचें no-nagging.user.js खुले टैब में।

    या

    • Chrome को बंद करें और इसे निम्न कमांड निष्पादित करके फिर से खोलें:

      google-chrome --easy-off-store-extension-install
      
    • खींचें no-nagging.user.js एड्रेस बार में।

  2. क्लिक करें जोड़ना


क्या आईडी (IsSupportedPlatform) के साथ स्पैन ब्लॉक को भी हटाने का एक तरीका है (यदि मौजूद है)? मुझे लगता है कि एडब्लॉक एक्सटेंशन का उपयोग करने से बेहतर होगा, जो मुझे लगता है कि मैं काफी अच्छी तरह से भरोसा करता हूं, लेकिन अगर मुझे नहीं करना है तो मैं इसका उपयोग नहीं करना पसंद करूंगा।
killermist

मैंने अपना उत्तर अपडेट कर दिया है।
Dennis

हममम। अगर मैं फ़ाइल को कहीं भी खींचता / छोड़ता हूँ, लेकिन क्रोम पर एड्रेस बार: / एक्सटेंशन (विलक्षण मौजूद नहीं है) यह कुछ नहीं करता है पता बार में गिरा, मुझे मिल गया img441.imageshack.us/img441/6315/userjsproblem.png जिसके लिंक की ओर जाता है support.google.com/chrome_webstore/bin/... इसलिए, मैं आगे बढ़ने के तरीके पर अटका हुआ हूं। मुझे ओपेरा के साथ याद है। मुझे लगता है कि Google Chrome को और अधिक जटिल बनाने के लिए प्यार करता है, मुझे लगता है।
killermist

यह GUI पर निर्भर हो सकता है। एकता में काम करता है घसीटना। मैंने एक दूसरा तरीका जोड़ा है।
Dennis

अति उत्कृष्ट। का उपयोग करते हुए google-chrome --easy-off-store-extension-install यह काम करता है लोड करने के लिए। यह अभी भी बैनर दिखाता है, लेकिन बैनर में कोई सामग्री नहीं है, जिससे मैं खुश हूं। विज्ञापन अवरोधक पूरे बैनर को हटाने में सक्षम था (इसे एक विज्ञापन के रूप में मानते हुए)।
killermist

3

आप जैसे विज्ञापन-अवरोधक का उपयोग कर सकते हैं AdBlock । फिर आप इसके URL द्वारा फ़ाइल को ब्लॉक कर सकते हैं।


निफ्टी। लगता है कि कुल 2 नियम मुझे चाहिए थे। एक पाठ चेतावनी को हटाने के लिए और दूसरा फ़ाइल को ब्लॉक करने के लिए।
killermist
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.