0

javaラッパーを使用してコンテンツを動的に取り込み、ページをリロードせずに表示するmodxでWebサイトを変換しています。サイトの基本はそこにありますが、生成されたリンクに少し問題があり、それを回避する最善の方法がわかりません.

サイトが使用する元の 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&amp;page=2');

それらが機能するには、次の条件を満たす必要があります。

 setNext('nb/index.php?id=17&page=2');

jquery を使用しているサイトでは、ページをレンダリングする前にテキスト文字列を変換する方法があるのではないかと考えていました。

誰かが私を正しい方向に向けてくれることを願っています.私は少し困惑しています.

4

3 に答える 3

1
setNext(htmlDecode('nb/index.php?id=17&amp;page=2'));

function htmlDecode(input){
  var e = document.createElement('div');
  e.innerHTML = input;
  return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}

javascript で unescape html エンティティを表示する

于 2013-03-07T17:04:06.337 に答える
0

これはトリックを行います

var str = 'nb/index.php?id=17&amp;page=2'
str = str.replace(/&amp;/g, '&');
setNext(str);
于 2013-03-07T16:59:24.003 に答える
0

IMOブラウザで「パッチを当てる」よりも、ソースで修正する方が良いでしょう。

最悪の場合、次のように PHP で実行できます。

$href = 'nb/index.php?id=17&amp;page=2';
$modx->setPlaceholder('href', str_replace('&amp;', '&', $href));

ただし、MODX のmakeUrl()方法を使用してリンクが生成された場合は、既に正しくフォーマットされているはずです。

于 2013-03-07T20:08:10.210 に答える