Bisakah saya menonaktifkan Google Chrome Autofill ONLY untuk localhost?

21

Saya seorang pengembang dan SANGAT menyebalkan karena Chrome menyarankan semua informasi alamat pribadi saya dalam bentuk satu situs web yang saya kembangkan untuk berjalan di mesin lokal saya. Apakah menonaktifkan IsiOtomatis di localhost, atau domain, atau alamat IP mungkin? Saya tidak melihat apa pun di pengaturan lanjutan.

Gromer
sumber
Meskipun "sebagai pengembang", tidakkah Anda menginginkan pengalaman yang sama di server pengujian lokal seperti di situs langsung?
MrWhite
4
Jika saya ingin menguji hal-hal khusus peramban seperti IsiOtomatis, saya akan melakukannya terhadap server uji.
Gromer

Jawaban:

8

Baru-baru ini saya menjawab pertanyaan lain dengan persyaratan yang sama untuk menyesuaikan fitur Chrome (dan juga terinspirasi dari @Paul ).

CATATAN: Solusi ini memungkinkan Anda untuk memblokir alamat IP tertentu atau daftar IP, tanpa harus memuat pustaka tambahan dan tidak ada skrip tambahan dalam proyek Anda. Faktanya seringkali Anda mungkin telah memblokir semua fitur Javascript, tetapi kontrol "noautofill" mengikuti operasi, menghindari tabrakan dengan perpustakaan lain, memungkinkan Anda juga memiliki pengakuan nyata dari biaya konsumsi dan waktu render, dan ini dapat diterjemahkan ke dalam penghematan waktu debugging hari hari ini, pada berbagai proyek web.

Buat ekstensi Chrome yang menggunakan "host filter pencocokan" API Chrome, dan filter kustom Anda IP hostatau namehost. Kemudian mengatur atribut autocompleteuntuk off semua "masukan" dan "bentuk" tag.

Kami melanjutkan dengan langkah-langkah ini:

  • Buat folder baru bernama ex. tidak ada isi ulang

  • Buat ke dalam folder baru kami, file baru bernama manifest.json dan tambahkan kode ini di dalam:


{
  "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" ]

}
  • Di folder baru kami, buat file baru bernama script.js dan tambahkan kode ini di dalam:


(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');
        }       
  });
})();
  • Kami pergi ke menu Chrome »Pengaturan» Ekstensi

  • Sekarang kita klik tombol "Muat ekstensi yang belum dibuka"

  • Akhirnya kami menandai folder kami dan klik tombol buka.

Ini hasilnya:

tidak ada isi ulang

Sistem ini sangat sederhana, dan Anda dapat menyesuaikan file script.js dengan kode kontrol Anda sendiri. Di masa depan Anda dapat menambahkan skrip lain, CSS, halaman konfigurasi, dll. Ingat bahwa setiap kali Anda akan membuat perubahan pada skrip file. Anda harus memuat ulang plugin dengan CtrlR.

Anda juga bisa mendapatkan panduan yang lebih tersembunyi tentang cara membuat ekstensi Chrome .

RTOSkit
sumber
Tolong jangan berlebihan dengan format. Ingat, terkadang lebih sedikit lebih banyak. Saya mengedit posting Anda untuk menghapus huruf tebal, miring, dan kutipan yang tidak diperlukan.
slhck
1
Tidak masalah, hanya tip untuk masa depan :)
slhck
1
Saya paling suka solusi ini, terima kasih! Bukan penggemar berat karena harus mengelola beberapa profil, yang akan berhasil, hanya saja bukan solusi yang saya cari. Ini memungkinkan hal-hal menjadi lebih efisien bagi saya. Terimakasih semuanya!
Gromer
1
Solusi bagus! Saya pikir Anda mungkin telah melewatkan wildcard pada 10.0.1.100 kedua meskipun?
Paul
wow ya! mata yang waspada :)
RTOSkit
9

Jawaban lain mengenai penggunaan profil kedua atau menginstal Chrome versi kedua akan berfungsi dengan baik. Saya mengambil sudut yang berbeda hanya untuk memberikan pilihan lain, bukan karena saya pikir ini adalah cara yang lebih baik untuk melakukannya.


Saat Anda mengembangkan situs web secara lokal, cukup sertakan pustaka jQuery dan skrip jQuery dengan kode berikut:

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

Ini mematikan pengisian otomatis untuk semua input pada halaman web. Digunakan bersama dengan file server-side include (di kepala) berarti akan sangat mudah untuk menambahkan ini selama pengujian dan menghapusnya untuk produksi untuk seluruh situs web.

Paul
sumber
1
1+ Anda telah menginspirasi saya, untuk solusi kedua saya.
RTOSkit
1
Bekerja dengan baik, saya akan menambahkan bahwa Anda dapat menempatkan kode ini di sisi server jika pernyataan yang memeriksa pengaturan untuk mengetahui apa yang sedang berjalan di situs web. Dalam kasus saya untuk tambang MVC terlihat seperti ini@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
guanome
2

Sayangnya, Google Chrome tidak memiliki opsi pemfilteran per situs untuk pengisian otomatis.

Salah satu alternatif adalah dengan menggunakan ekstensi Chrome Lastpass , di mana Anda dapat memutuskan bidang mana yang akan diingat berdasarkan per-situs.

Alternatif lainnya adalah dengan membuat profil pengguna baru Pengaturan Chrome -> Pengguna -> Tambahkan pengguna baru atau memasang versi chrome yang berbeda (Chrome Stable / Beta / Dev, Chrome Canary , atau Chromium ).

hanxue
sumber
2

Salah satu solusi (untuk tujuan pengujian) adalah dengan Menambahkan profil penggunaan baru tanpa IsiOtomatis.

Gunakan profil ini saat pengujian untuk menghindari IsiOtomatis.

harrymc
sumber
Ini bukan solusi terbaik - Anda masih ingin menggunakan internet seperti biasa di semua situs lain.
user1068446
1

Dapat mencapai tujuannya dengan ekstensi IsiOtomatis .

Saya pikir ini memiliki semua fitur yang Anda cari.

IsiOtomatis

RTOSkit
sumber