SADECE Google Chrome Otomatik Doldurma özelliğini localhost için devre dışı bırakabilir miyim?


21

Ben bir geliştiriciyim ve Chrome'un tüm kişisel adres bilgilerimi yerel makinemde geliştirmek için geliştirdiğim bir web sitesi formlarında önermesi çok can sıkıcı bir durum. Otomatik Doldurma özelliğini yerel ana bilgisayarda veya bir etki alanında veya IP adresinde devre dışı bırakmak mümkün mü? Gelişmiş ayarlarda hiçbir şey göremiyorum.


"Geliştirici olarak" olsa da, yerel test sunucunuzda canlı siteyle aynı deneyimi istemiyor musunuz?
MrWhite

4
Tarayıcıya Otomatik doldurma gibi belirli şeyleri test etmek istersem, bir test sunucusuna karşı yaparım.
Gromer

Yanıtlar:


8

Geçenlerde bir başka soruyu, Chrome'un özelliklerini (aynı zamanda @Paul'dan ilham alarak ) özelleştirme gereksinimi ile cevapladım .

NOT: Bu çözüm, herhangi bir ek kitaplık yüklemek zorunda kalmadan ve projenize ek komut dosyaları eklemeden belirli bir IP adresini veya IP listesini engellemenizi sağlar . Gerçek şu ki, tüm Javascript özelliklerini engellemiş olabilirsiniz, ancak "noautofill" kontrolü, diğer kütüphanelerle çarpışmalardan kaçınarak, tüketim şarjı ve oluşturma süresinin gerçek bir şekilde tanınmasına olanak tanıyan ve bunun yanı sıra, hata ayıklama gününün zaman kazancına da neden olabileceğiniz kontrolünü çalıştırır. Farklı web projelerinde günümüze.

Krom API "maç filtresi ana" kullanan bir Chrome uzantısını oluşturun ve özel filtre IP hostveya namehost. Sonra özelliğini ayarlamak autocompleteiçin off tüm "giriş" ve "form" etiketleri için.

Bu adımlara devam ediyoruz:

  • Ex adlı yeni bir klasör oluşturun. noautofill

  • Manifest.json adlı yeni bir dosya olan yeni klasörümüzü oluşturun ve içine şu kodu ekleyin:


{
  "name": "No Autofill",
  "version": "1.0",
  "manifest_version": 2,
  "description": "No Autofill.",  
  "content_scripts": [ {
      "all_frames": true,
      "exclude_globs": [  ],
      "include_globs": [ "*" ],  
      "js": [ "script.js" ],      
      "matches": [   
                   "http://192.168.1.100/",
                   "http://127.0.0.1/",
                   "http://10.0.1.100/",
                   "http://localhost/",
                   "http://wp.local/",
                   "http://192.168.1.100/*",
                   "http://127.0.0.1/*",
                   "http://10.0.1.100/*",
                   "http://localhost/*",
                   "http://wp.local/*"                   
                    ],
      "run_at": "document_start"
   } ],
  "permissions": [ "tabs", "http://*/", "https://*/", "https://*/*", "http://*/*", "contextMenus" ]

}
  • Yeni klasörümüzde, script.js adlı yeni bir dosya oluşturun ve bu kodu içine ekleyin:


(function(){    
    chrome.extension.sendRequest({
        autofill:'off'
    },function(){       
        var inputnodes = document.getElementsByTagName('input');    
        for(var i=0;i<inputnodes.length;i++){       
            inputnodes[i].setAttribute('autocomplete','off');
        }       
        var formnodes = document.getElementsByTagName("form");    
        for(var i=0;i<formnodes.length;i++){                    
            formnodes[i].setAttribute('autocomplete','off');
        }       
  });
})();
  • Chrome menüsüne gidiyoruz »Ayarlar» Uzantılar

  • Şimdi "Paketlenmemiş uzantıları yükle" butonuna tıklıyoruz

  • Sonunda klasörümüzü işaretleyip aç düğmesine tıklıyoruz.

Sonuç bu:

noautofill

Bu sistem çok basittir ve script.js dosyasını kendi kontrol kodunuzla kişiselleştirebilirsiniz . Gelecekte diğer komut dosyalarını vs. CSS yapılandırma sayfaları, dosya değişiklikleri yapacak her zaman unutmayın ekleyebilir script.js sizinle eklentiyi yeniden yüklemeniz gerekiyor CtrlR.

Ayrıca, Chrome uzantılarının nasıl oluşturulacağı hakkında daha ayrıntılı bir rehber alabilirsiniz .


Lütfen biçimlendirmeyle aşırıya kaçmayın. Unutma, bazen daha az olur. Mesajınızı, kalın, italik ve gerekmeyen tırnak işaretlerini kaldırmak için düzenledim.
slhck

1
Hiç sorun değil, gelecek için sadece bir ipucu :)
slhck

1
Bu çözümü en çok seviyorum, teşekkür ederim! Birden fazla profili yönetmek zorunda kalmanın büyük bir hayranı değil, ki işe yarayacak bir çözüm değil. Bu, işlerin benim için daha düzenli olmasını sağlar. Herkese teşekkürler!
Gromer

1
Güzel çözüm! Sanırım ikinci 10.0.1.100 tarihinde bir joker karakteri kaçırmış olabilirsiniz ?
Paul

vay evet! o dikkatli gözler :)
RTOSkit

9

İkinci bir profil kullanmaya veya Chrome'un ikinci bir sürümünü kurmaya ilişkin diğer cevaplar iyi sonuç vermelidir. Sadece başka bir seçenek sunmak için farklı bir açıya bakıyorum, çünkü bunun daha iyi bir yol olduğunu düşünüyorum.


Yerel olarak bir web sitesi geliştirirken, jQuery kütüphanesini ve aşağıdaki kodu içeren bir jQuery komut dosyasını eklemeniz yeterlidir:

$(document).ready(function() {
    $(":input").attr("autocomplete","off");
});

Bu, web sayfasındaki tüm girişler için otomatik doldurmayı kapatır. Bir sunucu tarafı dosya ile birlikte kullanıldığında dosya (kafada), test sırasında bunu eklemek ve bir web sitesinin tamamı için üretim için kaldırmak çok kolay olacağı anlamına gelir.


1
1+ İkinci çözümüm için bana ilham verdin.
RTOSkit

1
Harika çalışıyor, web sitesinin hangi ortamda çalıştığını bildiren bir ayarı kontrol eden bir deyim varsa, bu kodu bir sunucu tarafına koyabileceğinizi ekleyeceğim. Benim durumumda MVC mayınına benziyor@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
guanome

2

Maalesef, Google Chrome otomatik doldurma için site başına filtreleme seçeneğine sahip değil.

Alternatiflerden biri , hangi alanın site bazında hatırlanacağına karar verebileceğiniz Lastpass Chrome uzantısını kullanmaktır .

Diğer alternatif, yeni bir kullanıcı profili oluşturarak Chrome ayarları -> Kullanıcılar -> Yeni kullanıcı ekle veya farklı krom sürümleri (Chrome Stable / Beta / Dev, Chrome Kanarya veya Chromium ) yüklemektir .


2

Bir çözüm (test amaçlı) Otomatik Doldurma olmadan yeni kullanım profili eklemek olacaktır .

Otomatik Doldurma özelliğini önlemek için test ederken bu profili kullanın.


Bu en güzel çözüm değil - hala diğer tüm sitelerdeki interneti normal kullanmak istiyorsun.
user1068446

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.