ฉันสามารถปิดใช้งานป้อนอัตโนมัติของ Google Chrome สำหรับ localhost ได้หรือไม่


21

ฉันเป็นผู้พัฒนาและเป็นเรื่องที่น่ารำคาญมากที่ Chrome แนะนำข้อมูลที่อยู่ส่วนบุคคลของฉันทั้งหมดในรูปแบบเว็บไซต์เดียวที่ฉันพัฒนาขึ้นบนเครื่องของฉัน การปิดใช้งานป้อนอัตโนมัติบน localhost หรือโดเมนหรือที่อยู่ IP เป็นไปได้หรือไม่ ฉันไม่เห็นอะไรเลยในการตั้งค่าขั้นสูง


แม้ว่า "ในฐานะนักพัฒนา" คุณไม่ต้องการประสบการณ์เดียวกันบนเซิร์ฟเวอร์ทดสอบในพื้นที่ของคุณเหมือนที่คุณทำบนไซต์สด
MrWhite

4
หากฉันต้องการทดสอบสิ่งที่เฉพาะเจาะจงของเบราว์เซอร์เช่นป้อนอัตโนมัติฉันจะทำกับเซิร์ฟเวอร์ทดสอบ
Gromer

คำตอบ:


8

ฉันเพิ่งตอบคำถามอื่นที่มีความต้องการเดียวกันกับคุณสมบัติการปรับแต่งของ Chrome (และยังได้รับแรงบันดาลใจจาก@Paul )

หมายเหตุ: วิธีนี้ช่วยให้คุณสามารถบล็อกที่อยู่ IP หรือรายการ IP ที่ต้องการโดยไม่ต้องโหลดไลบรารีเพิ่มเติมและไม่มีสคริปต์เพิ่มเติมในโครงการของคุณ บ่อยครั้งที่คุณอาจปิดกั้นคุณสมบัติ Javascript ทั้งหมด แต่การควบคุม "noautofill" เป็นไปตามการดำเนินการหลีกเลี่ยงการชนกับไลบรารีอื่น ๆ ช่วยให้คุณได้รับการยอมรับอย่างแท้จริงเกี่ยวกับการสิ้นเปลืองค่าใช้จ่ายและเวลาในการเรนเดอร์ ในวันนี้ในโครงการเว็บต่างๆ

สร้างส่วนขยายของ Chrome ที่ใช้ "การแข่งขันเป็นเจ้าภาพกรอง" ของ API ของ Chrome และกรองของคุณเองหรือIP host namehostจากนั้นตั้งค่าแอตทริบิวต์autocompleteเป็นoff แท็ก "input" และ "form" ทั้งหมด

เราดำเนินการตามขั้นตอนเหล่านี้:

  • สร้างโฟลเดอร์ใหม่ชื่อ ex noautofill

  • สร้างในโฟลเดอร์ใหม่ของเราไฟล์ใหม่ชื่อmanifest.jsonและเพิ่มรหัสนี้ภายใน:


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

}
  • ในโฟลเดอร์ใหม่ของเราสร้างไฟล์ใหม่ชื่อscript.jsและเพิ่มรหัสนี้ภายใน:


(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 »การตั้งค่า»ส่วนขยาย

  • ตอนนี้เราคลิกปุ่ม "โหลดส่วนขยายที่คลายการแพค"

  • ในที่สุดเราก็ทำเครื่องหมายโฟลเดอร์ของเราและคลิกที่ปุ่มเปิด

นี่คือผลลัพธ์ที่ได้:

noautofill

ระบบนี้ง่ายมากและคุณสามารถปรับแต่งไฟล์script.jsด้วยรหัสควบคุมของคุณเอง ในอนาคตคุณอาจเพิ่มสคริปต์อื่น ๆ , CSS, หน้าการกำหนดค่าและอื่น ๆ โปรดจำไว้ว่าทุกครั้งที่คุณทำการเปลี่ยนแปลงในไฟล์script.jsคุณควรโหลดปลั๊กอินCtrlRอีกครั้งด้วย

นอกจากนี้คุณจะได้รับคู่มือ detiled เพิ่มเติมเกี่ยวกับวิธีการสร้างส่วนขยายของ


โปรดอย่าหักโหมกับการจัดรูปแบบ โปรดจำไว้ว่าบางครั้งมีน้อยมาก ฉันแก้ไขโพสต์ของคุณเพื่อลบตัวหนาตัวเอียงและเครื่องหมายคำพูดที่ไม่ต้องการ
slhck

1
ไม่มีปัญหาเพียงแค่เคล็ดลับสำหรับอนาคต :)
slhck

1
ฉันชอบโซลูชันนี้มากที่สุดขอบคุณ! ไม่ใช่แฟนตัวยงของการจัดการหลายโปรไฟล์ซึ่งจะใช้ได้ แต่ไม่ใช่วิธีที่ฉันมองหา สิ่งนี้ทำให้ฉันมีความคล่องตัวมากขึ้น ขอบคุณทุกคน!
Gromer

1
ทางออกที่ดี! ฉันคิดว่าคุณอาจพลาดไวลด์การ์ดในวันที่10.0.1.100ที่สองใช่ไหม
พอล

ว้าวใช่! ตาที่จับตามอง :)
RTOSkit

9

คำตอบอื่น ๆ ที่เกี่ยวกับการใช้โปรไฟล์ที่สองหรือการติดตั้ง Chrome เวอร์ชันที่สองน่าจะใช้ได้ดี ฉันกำลังทำมุมที่แตกต่างเพียงเพื่อให้ตัวเลือกอื่นไม่ใช่เพราะฉันคิดว่านี่เป็นวิธีที่ดีกว่าในการทำมัน


ในขณะที่คุณกำลังพัฒนาเว็บไซต์ในพื้นที่เพียงรวมไลบรารี jQuery และสคริปต์ jQuery ด้วยรหัสต่อไปนี้:

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

สิ่งนี้จะปิดการป้อนอัตโนมัติสำหรับอินพุตทั้งหมดบนหน้าเว็บ ใช้ร่วมกับไฟล์รวมฝั่งเซิร์ฟเวอร์ (ในส่วนหัว) หมายความว่ามันง่ายมากที่จะเพิ่มสิ่งนี้ในระหว่างการทดสอบและลบออกเพื่อการผลิตสำหรับทั้งเว็บไซต์


1
1+ คุณสร้างแรงบันดาลใจให้ฉันสำหรับวิธีแก้ปัญหาที่สองของฉัน
RTOSkit

1
ใช้งานได้ดีฉันจะเพิ่มว่าคุณสามารถใส่รหัสนี้ในฝั่งเซิร์ฟเวอร์หากคำสั่งที่ตรวจสอบการตั้งค่าเพื่อบอกสิ่งที่ enivornment เว็บไซต์ที่ทำงานอยู่ ในกรณีของฉันสำหรับ MVC ของฉันมีลักษณะเช่นนี้@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
guanome

2

น่าเสียดายที่ Google Chrome ไม่มีตัวเลือกการกรองต่อไซต์สำหรับการป้อนอัตโนมัติ

อีกทางเลือกหนึ่งคือการใช้นามสกุล Lastpass Chromeซึ่งคุณสามารถตัดสินใจว่าจะจำฟิลด์ใดในแต่ละไซต์

อีกทางเลือกหนึ่งคือการสร้างโปรไฟล์ผู้ใช้ใหม่การตั้งค่า Chrome -> ผู้ใช้ -> เพิ่มผู้ใช้ใหม่หรือติดตั้ง Chrome รุ่นต่าง ๆ (Chrome Stable / Beta / Dev, Chrome CanaryหรือChromium )


2

ทางออกหนึ่ง (เพื่อจุดประสงค์ในการทดสอบ) คือการเพิ่มโปรไฟล์การใช้งานใหม่โดยไม่ต้องป้อนอัตโนมัติ

ใช้โปรไฟล์นี้ขณะทดสอบเพื่อหลีกเลี่ยงการป้อนอัตโนมัติ


มันไม่ใช่ทางออกที่ดีที่สุด - คุณยังต้องการใช้อินเทอร์เน็ตตามปกติในเว็บไซต์อื่น ๆ ทั้งหมด
user1068446

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.