プロジェクト

全般

プロフィール

Backport(バックポート) #4058

kaoru n さんがほぼ5年前に更新

詳細は #4055 を参照 h3. Overview (現象) 

 OpenPNE が http://example.com/sns/ のようにサブディレクトリ以下に設置されている場合に、通知センターから日記等にアクセスする場合、http://example.com/sns/diary/1 のようなURLになるべきであるが、http://example.com/diary/1 にアクセスしてしまう。 

 h3. Causes (原因) 

 source:web/js/jquery.notify.js にて window.location に linkUrl を設定しているが linkUrl には、「/diary/1」等が設定されているため、そのまま window.location に設定すると、サブディレクトリが無視されてしまう。 

 <pre><code class="javascript"> 
 $.fn.pushLink = function(settings){ 
	 settings = $.extend({ 
	   isDisableRead: false, 
	 }, settings); 

	 return this.each(function(){ 
	   var linkUrl = $(this).attr('data-location-url'); 
	   var notifyId = $(this).attr('data-notify-id'); 
	   $(this).click(function(){ 
	     if ( false == settings.isDisableRead ) 
	     { 
	       $.getJSON( openpne.apiBase + 'push/read.json' , { 'id': notifyId, 'apiKey': openpne.apiKey }, function(d){ 
	         window.location = linkUrl; 
	       }); 
	     } 
	     else 
	     { 
	       window.location = linkUrl; 
	     } 
	   }); 
	 }); 
 }; 
 </code></pre> 

 h3. Way to fix (修正内容) 

 #3365 にて追加された openpne.baseUrl を利用して、window.location にURLを設定する。 

戻る