jquery UI tabs顯示異常

JQuery UI中的Tabs與base元素衝突的BUG

  之前一直使用jquery-ui-1.8,最近打算試一下目前最新的版本1.11。但對於Tabs,頁面是亂的,怎麼也不正常。折騰了好幾個小時,最後發現頁面中使用的base元素,對Tabs有破壞性的影響。 
  沒有想清楚具體的緣由,先記下來再說吧。 

  到了晚上,又想起這個問題。這個問題實在討厭,個人系統中全部頁面中都使用了base元素,不解決這個衝突實在是不爽。通過幾個小時的跟蹤調試,終於發現的問題所在: 
  新版本的jquery UI中,Tabs的代碼存在一處錯誤,注意代碼片段的第22行。 
javascript

_isLocal: (function() {
		var rhash = /#.*$/;

		return function( anchor ) {
			var anchorUrl, locationUrl;

			// support: IE7
			// IE7 doesn't normalize the href property when set via script (#9317)
			anchor = anchor.cloneNode( false );

			anchorUrl = anchor.href.replace( rhash, "" );
			locationUrl = location.href.replace( rhash, "" );

			// decoding may throw an error if the URL isn't UTF-8 (#9518)
			try {
				anchorUrl = decodeURIComponent( anchorUrl );
			} catch ( error ) {}
			try {
				locationUrl = decodeURIComponent( locationUrl );
			} catch ( error ) {}
			
			return anchor.hash.length > 1 || anchorUrl === locationUrl;//原來爲&&
		};
相關文章
相關標籤/搜索