HTMlsimpledomを使用して、DB にアクセスできなくなったクライアントのために古い Web サイトを破棄しています。
このサイトは、使用可能なクラスがほとんどないコーディングの悪夢であり、テーブルをほとんど使用しています。
(少し複雑にするために、サイトは私が知らない奇妙な文字を生成する外国語で書かれています.(しかし、それは実際の問題ではありません))
とにかく-ページの1つのカテゴリで、ある種の歪んだ/昔ながらのAjax / JSで電話番号を開くJSアンカートリガーがあることを除いて、すべて問題なく機能しています。
リンクは次のように表示されます。
<a class="icon1 clickTip" onclick="showIndexPhone(1517);showIndexMobile(1517);" title="">Phone</a>
もちろん、私はshowIndexPhone()
関数を検索しに行きました:
function showIndexPhone(id)
{
/*var oContent = oValue = null;
if ((oContent = document.getElementById("IndexPhone_" + id)) && (oValue = document.getElementById("IndexPhoneValue_" + id)))
{
oContent.innerHTML = oValue.innerHTML;*/
/*var oCounter = new Image();
oCounter.src = "./ctr.asp?id=" + id + "&type=2";*/
var xmlDoc = dbsRequest("./ctr.asp?id=" + id + "&type=2");
//}
}
したがって、明らかに、次のようshowIndexPhone()
なシンプルなURL
ものを構築するだけです:
http://123.xxx/ctr.asp?id=1517&type=3
id
.. また、 は記事 ID、type
は情報タイプ (電話、ファックス、名前など)である Firebug コンソールにも表示されます。
dbsRequest(URL)
そして、それを次のような別の関数に渡します:
function dbsRequest(URL) {
try {
var xmlHTTP;
if (dbsBrowserType == "ie") { // code for IE
if (window.XMLHttpRequest) {
xmlHTTP = new XMLHttpRequest();
xmlHTTP.open("GET",URL, false);
xmlHTTP.send(null);
return xmlHTTP.responseXML.documentElement;
}
else if (window.ActiveXObject) {
xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("GET",URL, false);
xmlHTTP.send();
return xmlHTTP.responseXML.documentElement;
}
}
else if (dbsBrowserType == "ns" || dbsBrowserType == "op") { // code for Mozilla, Opera.
//netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
xmlHTTP = new XMLHttpRequest();
xmlHTTP.open("GET",URL, false);
xmlHTTP.send(null);
return xmlHTTP.responseXML.documentElement;
}
}
catch (e) {
//if (dbsBrowserType == "ie")
// alert("error: " + e.description);
//else if (dbsBrowserType == "ns" || dbsBrowserType == "op")
// alert("error: " + e);
return null;
}
}
そして、私は立ち往生しました。
私は JS や AJAX などに非常に苦手で、応答が実際に何らかの形式の XML であることがわかったとき、行き詰まってしまいました。約 13,000 のエントリを取得しました。手動でそれぞれをクリックすることは実際にはオプションではありません..
その JS によってトリガーされるフィールドを取得する方法はありますか?
または、代わりに、応答の URL を検索/構築し、それを php に解析する方法はありますか??
編集私
実際のライブ ページの例は、次の場所にあります。
http://123.org.il/?pg=indx_entry&CategoryID=171&ArticleID=1517
どの言語かはわかりませんが、結果の電話を表示するには、右側の緑色の電話アイコンをクリックする必要があります..