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を設定する。
戻る