DedeCMS digg クロスドメイン Ajax を実装するにはどうすればよいですか?
Web プロジェクトは第 2 レベル ドメイン名を使用しているため、元の digg は通常は使用できません。慎重に分析した結果、Ajax JS の送信はドメインを越えて送信できないことが判明しました。
推奨調査: 梦Weavercms
は次の解決策を提供します:
@etongchina 作成 2009-02-06 19:00
実装計画: json 実装と同様
実装原則: js でインポートされたリモート ファイル (js) でローカル データを操作できるようにします
具体的な方法: (http://news.xxx.com を使用) /200812/25-4653.html を例として)
1. http://news.xxx.com/200812/25-4653.html の js 呼び出し部分を変更します;
ローカル HTML または JS ファイルに書き込みます:
<SCRIPT LANGUAGE="JavaScript"> function _Digg(type,tid){ var s = document.createElement("SCRIPT"); s.id="cgi_emotion_list"; document.getElementsByTagName("HEAD")[0].appendChild(s); s.src="http://www.xxx.com/../dig.php?type="+type+"&tid="+tid ; //需要统计的php页面的 src } function visitCountCallBack(data){ document.getElementsByTagName("HEAD")[0].removeChild(document.getElementById("cgi_emotion_list")); for(var i in data){ var e =document.getElementById(i); if(e) e.innerHTML=data[i]; //一些代码去修改本地html } } </script>
次のコードを変更します: Like
は: いいね
2. リモート ファイルへのアクセス:
リモート ファイル ( http://www.xxx.com/../dig.php?type=digg&tid=456) は同様のコードを返します:
visitCountCallBack({ "visitcount":135 });
上記のコードは、ローカル関数を呼び出すリモート ファイルと同等です: visitCountCallBack
このようにして、リモートの戻りデータを使用してローカル ファイルを動的に変更できます。
3. 概要:
このソリューションに関しては、現時点では実現可能ですが、時代遅れになると考える人もいます。 JS がその権限を踏み越えるという問題は起こらないと思います。
ここでは AJAX 風のアプリケーションを使用しています。主要なテクノロジは、