คำถามติดแท็ก fragment-identifier

แฟรกเมนต์ - ตัวระบุเป็นส่วนหนึ่งของ URI / URL ตามหลังสัญลักษณ์แฮช ในกรณีของ "http: //mysite.com/page / # / one` ดังนั้น" / one "จะเป็นตัวระบุส่วน

18
คุณจะตรวจสอบ #hash ใน URL โดยใช้ JavaScript ได้อย่างไร
ฉันมีรหัส jQuery / JavaScript ที่ฉันต้องการเรียกใช้เฉพาะเมื่อมีแฮ็ก ( #) ลิงค์ยึดใน URL คุณจะตรวจสอบอักขระนี้โดยใช้ JavaScript ได้อย่างไร ฉันต้องการการทดสอบทั้งหมดที่จับได้ง่ายซึ่งจะตรวจพบ URL ดังนี้: example.com/page.html#anchor example.com/page.html#anotheranchor โดยทั่วไปบางสิ่งบางอย่างตามแนวของ: if (thereIsAHashInTheUrl) { do this; } else { do this; } หากใครสามารถชี้ให้ฉันในทิศทางที่ถูกต้องนั่นจะเป็นที่ชื่นชมมาก

14
ฉันควรตั้งจุดยึด HTML ด้วย 'ชื่อ' หรือ 'id' หรือไม่
เมื่อต้องการอ้างถึงบางส่วนของหน้าเว็บด้วยhttp://example.com/#fooวิธีการ "" ควรใช้อย่างใดอย่างหนึ่ง <h1><a name="foo"/>Foo Title</h1> หรือ <h1 id="foo">Foo Title</h1> พวกเขาทั้งสองทำงาน แต่พวกเขาเท่ากันหรือมีความแตกต่างทางความหมาย?

7
shebang / hashbang (#!) ใน Facebook และ URL Twitter ใหม่เป็นอย่างไร
ฉันเพิ่งสังเกตเห็นว่า URL Facebook ที่ซับซ้อนและยาวเหยียดซึ่งเราคุ้นเคยในตอนนี้มีลักษณะดังนี้: http://www.facebook.com/example.profile#!/pages/Another-Page/123456789012345 เท่าที่ฉันจำได้เมื่อต้นปีที่ผ่านมามันเป็นเพียงสตริงปกติที่มีส่วนคล้าย URL (เริ่มต้นด้วย#) โดยไม่มีเครื่องหมายอัศเจรีย์ แต่ตอนนี้มันเป็น shebang หรือ hashbang ( #!) ซึ่งก่อนหน้านี้ฉันเคยเห็นเฉพาะในเชลล์สคริปต์และสคริปต์ Perl เท่านั้น ทวิตเตอร์ใหม่ URL ที่ตอนนี้ยังประกอบไปด้วย#!สัญลักษณ์ ตัวอย่างเช่น URL โปรไฟล์ Twitter ตอนนี้มีลักษณะดังนี้: http://twitter.com/#!/BoltClock ไม่#!ตอนนี้มีบทบาทพิเศษบางอย่างใน URL ที่เหมือนกรอบอาแจ็กซ์บางอย่างหรือบางสิ่งบางอย่างตั้งแต่ใหม่ Facebook และ Twitter อินเตอร์เฟซที่ตอนนี้ Ajaxified ส่วนใหญ่? การใช้สิ่งนี้ใน URL ของฉันมีประโยชน์ต่อเว็บแอปพลิเคชันของฉันหรือไม่?

13
บน - window.location.hash - เปลี่ยนหรือไม่
ฉันใช้อาแจ็กซ์และแฮสำหรับการนำทาง มีวิธีตรวจสอบการwindow.location.hashเปลี่ยนแปลงเช่นนี้หรือไม่? http://example.com/blah # 123ถึงhttp://example.com/blah # 456 มันทำงานได้ถ้าฉันตรวจสอบเมื่อเอกสารโหลด แต่ถ้าฉันใช้การนำทาง #hash จะไม่ทำงานเมื่อฉันกดปุ่มย้อนกลับบนเบราว์เซอร์ (ดังนั้นฉันจึงข้ามจาก blah # 456 ไปยัง blah # 123) มันแสดงอยู่ข้างในกล่องที่อยู่ แต่ฉันไม่สามารถจับมันด้วย JavaScript

16
วิธีลบแฮชจาก window.location (URL) ด้วย JavaScript โดยไม่ต้องรีเฟรชหน้า?
ฉันมี URL ที่ชอบ: http://example.com#somethingฉันจะลบได้อย่างไร#somethingอย่างไรโดยไม่ทำให้หน้ารีเฟรช? ฉันพยายามแก้ไขปัญหาต่อไปนี้: window.location.hash = ''; อย่างไรก็ตามสิ่งนี้จะไม่ลบสัญลักษณ์แฮช#ออกจาก URL

14
เปลี่ยน URL ในเบราว์เซอร์โดยไม่โหลดหน้าใหม่โดยใช้ JavaScript
ฉันจะมีการดำเนินการJavaScriptที่อาจมีผลกระทบกับหน้าปัจจุบันได้อย่างไร แต่จะเปลี่ยน URL ในเบราว์เซอร์ด้วยดังนั้นหากผู้ใช้กดปุ่มโหลดซ้ำหรือคั่นหน้า URL ใหม่จะถูกใช้ มันก็จะดีถ้าปุ่มย้อนกลับจะโหลด URL เดิม ฉันพยายามบันทึกสถานะ JavaScript ใน URL

17
การแก้ไข location.hash โดยไม่ต้องเลื่อนหน้า
เรามีหน้าเว็บสองสามหน้าที่ใช้ ajax เพื่อโหลดเนื้อหาและมีบางโอกาสที่เราจะต้องลิงก์ลึกเข้าไปในหน้าเว็บ แทนที่จะมีลิงก์ไปยัง "ผู้ใช้" และบอกให้ผู้คนคลิก "การตั้งค่า" มันมีประโยชน์มากที่จะสามารถเชื่อมโยงผู้คนกับuser.aspx # settings เพื่อให้ผู้คนสามารถให้ลิงก์ที่ถูกต้องกับส่วนต่างๆ (สำหรับฝ่ายสนับสนุนด้านเทคนิคและอื่น ๆ ) เราได้ตั้งค่าให้แก้ไขแฮชใน URL โดยอัตโนมัติทุกครั้งที่มีการคลิกปุ่ม ปัญหาเดียวของหลักสูตรคือเมื่อเกิดเหตุการณ์นี้มันยังเลื่อนหน้าไปยังองค์ประกอบนี้ มีวิธีปิดใช้งานสิ่งนี้หรือไม่ ด้านล่างเป็นวิธีที่ฉันทำเช่นนี้จนถึง $(function(){ //This emulates a click on the correct button on page load if(document.location.hash){ $("#buttons li a").removeClass('selected'); s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:",""); eval(s); } //Click a button to change the hash $("#buttons li a").click(function(){ $("#buttons …

4
ส่วนย่อยของ URL และการเปลี่ยนเส้นทาง 302
เป็นที่ทราบกันดีว่าส่วนย่อย URL (ส่วนที่อยู่หลัง#) ไม่ได้ถูกส่งไปยังเซิร์ฟเวอร์ ฉันสงสัยว่าแฟรกเมนต์ทำงานอย่างไรเมื่อมีการเปลี่ยนเส้นทางเซิร์ฟเวอร์ (ผ่านสถานะ HTTP 302 และLocation:ส่วนหัว) คำถามของฉันเป็นสองเท่าจริงๆ: หาก URL เดิมมีแฟรกเมนต์ ( /original.php#foo) และมีการเปลี่ยนเส้นทางไป/new.phpยังส่วนแฟรกเมนต์ของ URL เดิมจะหายไปหรือไม่ หรือบางครั้งมันถูกนำไปใช้กับ URL ใหม่? URL ใหม่จะ/new.php#fooอยู่ในกรณีนี้หรือไม่ ไม่ว่า URL เดิมจะเป็นอย่างไรหากเซิร์ฟเวอร์เปลี่ยนเส้นทางไปยัง URL ใหม่ด้วยแฟรกเมนต์ ( /new.php#foo) แฟรกเมนต์จะได้รับ "เกียรติ" หรือไม่ หรือไม่เซิร์ฟเวอร์จริงๆมีธุรกิจไม่รบกวนการทำงานของชิ้นส่วนที่ทุกคน - และจะเบราว์เซอร์จึงไม่สนใจมันโดยเพียงแค่ไป/new.php??

6
รับตำแหน่งแฮช URL และใช้ใน jQuery
ฉันต้องการรับค่าหลังแฮชใน URL ของเพจปัจจุบันจากนั้นจึงสามารถใช้ค่านี้ในฟังก์ชันใหม่ ... เช่น URL อาจเป็น www.example.com/index.html#foo และฉันต้องการใช้สิ่งนี้ร่วมกับรหัสต่อไปนี้ $('ul#foo:first').show(); ฉันคิดว่า / หวังว่าจะมีวิธีการจับสิ่งนี้และเปลี่ยนเป็นตัวแปรที่ฉันสามารถใช้ในโค้ดชิ้นที่สองได้


4
คุณสามารถใช้การนำทางแฮชโดยไม่ส่งผลต่อประวัติได้หรือไม่?
ฉันกลัวว่ามันอาจจะเป็นไปไม่ได้แต่จะมีวิธีเปลี่ยนค่าแฮชของ URL โดยไม่ทิ้งรายการไว้ในประวัติของเบราว์เซอร์และไม่ต้องโหลดซ้ำได้หรือไม่? หรือทำเทียบเท่า? เท่าที่เฉพาะเจาะจงไปฉันกำลังพัฒนาการนำทางแฮชขั้นพื้นฐานตามแนวของ: //hash nav -- works with js-tabs var getHash = window.location.hash; var hashPref = "tab-"; function useHash(newHash) { //set js-tab according to hash newHash = newHash.replace('#'+hashPref, ''); $("#tabs li a[href='"+ newHash +"']").click(); } function setHash(newHash) { //set hash according to js-tab window.location.hash = hashPref + newHash; …

6
จัดการเหตุการณ์การเปลี่ยนแปลงจุดยึด URL ใน js
ฉันจะเขียนโค้ดเรียกกลับ JavaScript ที่จะดำเนินการกับการเปลี่ยนแปลงใด ๆ ในจุดยึด URL ได้อย่างไร ตัวอย่างเช่นจากhttp://example.com#aถึงhttp://example.com#b

3
รายการอักขระที่ถูกต้องสำหรับตัวระบุส่วนย่อยใน URL?
ฉันใช้ตัวระบุส่วนเพื่อสร้างลิงก์ถาวรสำหรับเหตุการณ์ AJAX ในเว็บแอปของฉันที่คล้ายกับผู้ชายคนนี้ สิ่งที่ต้องการ: http://www.myapp.com/calendar#filter:year/2010/month/5 ฉันได้ทำการค้นหาค่อนข้างน้อย แต่ไม่พบรายการอักขระที่ถูกต้องสำหรับ idenitifer ส่วนย่อย ข้อมูลจำเพาะ W3Cไม่ได้มีอะไร ฉันจำเป็นต้องเข้ารหัสอักขระให้เหมือนกับ URL โดยทั่วไปหรือไม่? ดูเหมือนจะไม่มีข้อมูลที่ดีในทุกที่

2
ASP.Net MVC RedirectToAction พร้อมจุดยึด
ฉันมีปัญหาดังต่อไปนี้: ตัวอย่างเช่นฉันมีเส้นทางดังนี้: routes.Add(new Route("forums/thread/{threadOid}/last", new MvcRouteHandler()) Defaults = new RouteValueDictionary( new { controller = "Thread", action ="ShowThreadLastPostPage"}), Constraints = new RouteValueDictionary(new { threadOid = @"^\d+$" }) } ); มีวิธีใดบ้างที่ใช้เมธอด RedirectToAction นำทางไปยัง URL เช่นนี้: forums/thread/{threadOid}/last#postOid
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.