ฉันสามารถปิดการเลื่อนแบบไม่มีที่สิ้นสุดสำหรับทุกไซต์ได้หรือไม่


21

ฉันเกลียดไซต์ที่มีการเลื่อนไม่สิ้นสุดส่วนใหญ่เป็นเพราะพวกเขาใช้ RAM ทั้งหมดของฉัน มีวิธีใดที่จะโน้มน้าวให้เว็บไซต์ต่างๆไม่โหลดวิธีนี้หรือไม่? อาจเป็นส่วนขยายของเบราว์เซอร์ที่เปลี่ยนกลับเป็นหน้าเว็บแยกกันหรือ วิธีรับเบราว์เซอร์เพื่อรายงานว่าไม่รองรับหรือไม่ สิ่งที่ฉันสามารถถอนการติดตั้ง?


6
คุณสามารถปิดการใช้งานจาวาสคริปต์ แต่สิ่งอื่นใดจะเป็นไปไม่ได้หากไม่มีเว็บไซต์ที่สนับสนุนการเพจ
slhck

adblock จาวาสคริปต์เฉพาะที่ทำให้การเลื่อนไม่สิ้นสุด?
endolith

@endolith: มีวิธีแก้ไขปัญหาที่แตกต่างกันสำหรับเว็บไซต์ที่แตกต่างกันเนื่องจากแต่ละเว็บไซต์ใช้การเลื่อนแบบไม่ จำกัด โปรดระบุว่าเว็บไซต์ใดเป็นเว็บไซต์หลักที่ทำให้เกิดปัญหา
harrymc

@harrymc ฉันต้องการปิดกั้นพวกเขาทั้งหมด รายการตัวกรอง adblock ที่บล็อกมากที่สุดตัวอย่างเช่น
endolith

@endolith: คุณจะต้องมีกฎ adblock หลายกฎสำหรับเว็บไซต์หลายแห่ง และนอกจากนี้สิ่งที่คุณต้องการคือการแปลงสโครลให้เป็นปุ่มถัดไป / ก่อนหน้า มีให้บริการในบางเว็บไซต์เช่น Wordpress
harrymc

คำตอบ:


4

มีสาเหตุที่น่าเชื่อถือหลายประการว่าทำไมคำตอบคือ "ไม่"

บางเว็บไซต์เพิ่มเนื้อหาแบบไดนามิก (เช่น facebook) ในขณะที่คุณเลื่อนลงดังนั้นอาจเป็นกรณีที่คุณไม่ได้ติดตาม

ไซต์อื่น ๆ เพิ่มเนื้อหาที่ไม่ขึ้นอยู่กับการโต้ตอบของผู้ใช้ (เช่นการเลื่อน) แบบไดนามิก โดยหลักการแล้วสิ่งเหล่านี้สามารถจัดการได้โดยการป้องกัน / การควบคุมปริมาณการเชื่อมต่อเว็บที่รับผิดชอบเมื่อหน้าเว็บเต็ม อย่างไรก็ตามการพยายามที่จะเปิดใช้งานใหม่นี้อย่างโปร่งใสในกรณีที่คุณตัดสินใจที่จะไปที่ "หน้าถัดไป" อาจเป็นอีกต่อไปเพราะอาจคาดหวังว่ากระบวนการจะเลิกเพราะหมดเวลา

จากนั้นอีกครั้งมีหน้าเว็บที่ simlpy ส่งออกเนื้อหาของหน้าจำนวนมากหรืออาจเป็นเนื้อหาแบบสแตติก ไคลเอนต์อาจฆ่าการเชื่อมต่อเมื่อมีเพียงพอที่จะแสดงผลข้อมูลเต็มหน้าจอ แต่นั่นหมายความว่าเมื่อต้องการไปที่ "หน้าถัดไป" คุณจะต้องเริ่มโหลดหน้าใหม่อีกครั้ง มีหลายหน้าสิ่งนี้ทำให้เกิดแบนด์วิดท์ที่สูญเปล่าไปแล้วสำหรับการรีโหลดแบบไร้ประโยชน์ สิ่งนี้อาจไม่เป็นที่ต้องการในกรณีที่มีผลข้างเคียง (เช่นคำสั่งซื้อออนไลน์) อีกวิธีหนึ่งไคลเอ็นต์อาจเค้นการเชื่อมต่อ TCP จนกว่าคุณจะเลือกที่จะไปที่ "หน้าถัดไป" ฉันเกรงว่าเว็บเซิร์ฟเวอร์จะไม่มีความสุข (และลดการเชื่อมต่อของคุณ) ด้วยวิธีแก้ปัญหาดังกล่าวเพราะมันทำให้พวกเขาเสียทรัพยากร ยิ่งกว่านั้นหากคุณต้องการพลิกดูหน้าก่อนหน้าคุณยังคงมีปัญหาในการเก็บเนื้อหาทั้งหมดใน RAM หรือแคช

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

ทั้งหมดนี้ไม่ได้คำนึงถึงว่ารูปแบบโดยรวมอาจต้องการเนื้อหาของหน้า efull ที่มากขึ้นหรือน้อยลงในการตัดสินใจว่า "หน้า" ควรมีหน้าตาเป็นอย่างไรหรือหน้าไหนที่จะทำให้หน้าแตก

วิธีเดียวที่เป็นไปได้จริง ๆ ที่ฉันเห็นคือการใช้กลไกที่อนุญาตให้มีการแสดงเพจของเนื้อหาที่ไม่มีการทำเพจแบบเพจ: ใช้media:printสไตล์ซึ่งจะเป็นจำนวนการดาวน์โหลดหน้าเว็บและสร้างตัวอย่างก่อนพิมพ์ คุณอาจสังเกตเห็นแล้วว่าหลาย ๆ หน้าแสดงผลได้อย่างยอดเยี่ยมในการพิมพ์หรือตัวอย่างก่อนพิมพ์แม้ว่าผู้พัฒนาเว็บจะมีตัวเลือกในการกำหนดหน้าเพจเป็นจำนวนมากโดยเฉพาะดังนั้นลองจินตนาการถึงสิ่งที่คุณจะได้รับ อย่างไรก็ตามหากมีการใช้สิ่งนี้เป็นส่วนเสริม (เช่น Firefox) เวิร์กโฟลว์จะเป็นการดาวน์โหลดหน้าเว็บและจะนำเสนอเช่นในการแสดงตัวอย่างแบบ Parint โดยไม่ต้องเจาะลึกเข้าไปในเบราว์เซอร์เบราว์เซอร์นี้จะยังคงส่งผลให้หน้าเต็มถูกจัดเก็บใน RAM ดังนั้นไม่ใช่สิ่งที่คุณเป็น


4

เมื่อใช้ Firefox หนึ่งสามารถใช้ Kill Infinite Scroll ที่เป็นส่วนเสริมได้ในปัจจุบันคือเวอร์ชัน 0.79.4

Add-on นี้มีคำอธิบายเป็น:

สิ่งนี้จะปิดใช้งานการเลื่อนที่ไม่สิ้นสุดที่ใช้โดย Tumblr และไซต์อื่น ๆ โดยเฉพาะอย่างยิ่งมันทำลายสคริปต์จากhttp://www.infinite-scroll.com (รุ่น 1.4 และ 2.0) ซึ่งแตกต่างจาก Add-on Anti Tumblr Infinite Scroll เพียงคืนค่าปุ่ม Next และ Prev ก่อนหน้า

ฉันเชื่อว่าการกู้คืนปุ่มถัดไปและปุ่มก่อนหน้านั้นดีกว่าเพียงแค่ทำลายการเลื่อนเนื่องจากยังสามารถเลื่อนได้ แต่การใช้หน่วยความจำจะคงที่ตลอดเวลา

มิฉะนั้นเพื่อทำลายการเลื่อนฉันขอแนะนำว่าแทนที่จะใช้ Adblock คุณอาจจะดีกว่าการใช้ส่วนขยายอย่างNoScriptเพื่อไม่อนุญาตให้ใช้จาวาสคริปต์ทั้งหมดในเว็บไซต์ทั้งหมดยกเว้นที่คุณไว้วางใจ นี่เป็นกลไกการป้องกันที่ทุกคนควรใช้ป้องกันไวรัสแบบใช้ Drive-by-Browser เมื่อใดก็ตามที่คุณต้องการเปิดใช้งานการเลื่อนอีกครั้งชั่วคราวคุณสามารถทำได้โดยการอนุญาตสคริปต์ชั่วคราว (ซึ่งจะมีผลจนกว่าเบราว์เซอร์จะปิด)


ฉันเคยใช้ noscript ในอดีตและมันก็คุ้มค่ามากเกินไป Yesscript อาจเป็นความคิดที่ดี ฉันไม่ได้ใช้มันซักพัก
endolith

@endolith: NoScript ทำงานได้ดีมากสำหรับฉันหลังจากที่ฉันอนุญาตไซต์สคริปต์ที่ใช้บ่อย ปัญหาเกี่ยวกับ YesScript คือโดยค่าเริ่มต้นมันช่วยให้ทุกอย่างผ่านไปดังนั้นไวรัสจะถูกติดตั้งก่อนที่คุณจะรู้
harrymc

1
ในประสบการณ์ noscript นั้นยากจน 90% ถ้าทุกอย่างที่ฉันเข้าชมและฉันใช้เวลามากกว่าการอนุญาตสคริปต์มากกว่าการดูไซต์ คำถามนี้เกี่ยวกับ infinite scroll ไม่ใช่ไวรัส
endolith

4

คุณสามารถใช้ AdBlock / uBlock เพื่อบล็อกรหัสที่โหลดหน้าถัดไป นี่คือน้ำมันดิบ แต่ใช้งานได้เช่น:

! Forbes infinite scroll (and all other AJAX) https://www.reddit.com/r/web_design/comments/4i6bpd/never_ending_scroll_down_on_some_websites_is_it_a/d2w3qj2
||forbes.com$xmlhttprequest

ฉันลองสิ่งเหล่านี้ด้วย แต่ไม่ได้ผล:

! Forbes infinite scroll https://adblockplus.org/forum/viewtopic.php?t=26583
||i.forbesimg.com/assets/img/loading_spinners/*
||forbesimg.com/scripts/combined/js/article-responsive*

! Bloomberg infinite scroll http://www.wilderssecurity.com/threads/ublock-origin-stopping-infinite-scrolling.379726/#post-2525404
bloomberg.com http://assets.bwbx.io/business/public/javascripts/application script block

แต่บางคนที่ดีกับกฎตัวกรอง Adblock (ไม่ใช่ฉัน) สามารถพัฒนารายการบล็อกเพื่อบล็อกการเลื่อนแบบไม่สิ้นสุดในหลาย ๆ ไซต์

หรือใช้ Add-On หรือ Userscripts เพื่อแทนที่พฤติกรรมนี้และแทนที่ด้วยสิ่งที่เป็นมิตรต่อผู้ใช้

Add-On ชนิดนี้ปิดใช้งานใน Tumblr ตัวอย่างเช่น: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ มันยังคงโหลดหน้าใหม่โดยอัตโนมัติเมื่อคุณไปถึง ด้านล่างซึ่งเป็นที่น่ารำคาญ แต่มันจะแทนที่หน้าปัจจุบันแทนการผนวกมันและแสดงให้เห็นถึงการพิสูจน์แนวคิดของสิ่งที่อาจมีอยู่

ฉันได้ลองเริ่มรายการที่นี่ แต่ฉันไม่ใช่ผู้เชี่ยวชาญในกฎ Adblock:

https://gist.github.com/endolith/72ac5e69e037be02b118adbedcdeac59/

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