我正在转换一个modx网站,该网站利用java包装器动态提取内容并显示它而不需要重新加载页面。该网站的基础知识是存在的,但我对生成的链接有一个小问题,我不确定最好的解决方法是什么。
我没有写过网站使用的原始javascript,我只是想稍微重构一下,所以modx利用了正确的部分。
以下是我用于下一页/上一页
的模板示例 <div id="next"></div>
<script type="text/javascript">
$(function()
{
setNext('[[+href]]');
var page_content_height = $('#page_content').height();
}
);
</script>
基本上,modx生成的链接在页面中采用以下格式:
setNext('nb/index.php?id=17&page=2');
要让他们工作,他们需要:
setNext('nb/index.php?id=17&page=2');
使用jquery的网站,我想可能有一种方法可以在呈现页面之前转换文本字符串?
希望有人可以指出我正确的方向因为我有点难以理解。
答案 0 :(得分:1)
setNext(htmlDecode('nb/index.php?id=17&page=2'));
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
答案 1 :(得分:0)
这可以解决问题
var str = 'nb/index.php?id=17&page=2'
str = str.replace(/&/g, '&');
setNext(str);
答案 2 :(得分:0)
IMO最好在源头纠正它,而不是在浏览器中“修补”。
最糟糕的情况是,你可以在PHP中这样做:
$href = 'nb/index.php?id=17&page=2';
$modx->setPlaceholder('href', str_replace('&', '&', $href));
但是,如果链接是使用MODX的makeUrl()
方法生成的,那么它应该已经正确格式化了。