gpt4 book ai didi

javascript - 使用 CURL 和 Ajax

转载 作者:行者123 更新时间:2023-11-29 22:36:20 25 4
gpt4 key购买 nike

我会在这里非常具体。如果你去 UtahRealEstate.com并进行搜索并在 map View 中查看结果, map 上到处都是地 block ,右侧的列表。如果您单击 map 上的图钉,您会看到一个弹出窗口,然后单击 MLS #,您会看到另一个带有属性描述的弹出窗口。您还可以单击右侧列表中的 MLS 编号,然后打开属性描述弹出窗口。

我想在该弹出窗口的 html 中添加一个按钮。我可以很好地插入 html,但挑战是,我如何确定该属性描述何时加载,以便我可以读取其中的 html 并添加我的按钮?

截图:

enter image description here

enter image description here

enter image description here

最佳答案

我使用的技巧是在必须基于用户点击时才查找元素。真正棘手的部分是 map 上的卡片中显示的 MLS 编号链接正在停止将点击事件传播到窗口,因此我无法使用实时点击绑定(bind)。

我真的病了,所以我不能再熬夜了,但是代码注释得很好,所以你应该能够读懂我的疯狂。 ; )

ruleset a60x561 {
meta {
name "utahrealestate"
description <<
utahrealestate
>>
author "Mike Grace"
logging off
}

dispatch {
domain "utahrealestate.com"
}

rule search_for_realestate {
select when web pageview "\/search\/"
pre {

}
{
notify("title","content") with sticky = true;
emit <|
// sidebar click watching easy
// click event isn't being blocked so we can use .live and not
// worry about HTML being present at time of event listener binding
$K(".full_line a").live("click", function() {
console.log("sidebar mls clicked");
// get the report!!!
KOBJ.a60x561.getReport();
});

// pin on map mls number is a bit harder because click event is
// being blocked from propegating to the window
// to get around this we can
// 1) watch for click on pin
// 2) wait for mls element to load
// 3) attatch our own element level event listener
$K("#mapdiv_OpenLayers_Container image").click(function() {
console.log("pin on map clicked");
// attatch click event listener on mls element once it loads
setTimeout(function() {
KOBJ.a60x561.grabMls();
}, 500);
});

// ATATCH LISTENER TO MLS NUM ON MAP
KOBJ.a60x561.grabMls = function() {
console.log("looking for mls in hovercard");

// grab jQuery reference to element we are looking for
var $cardMls = $K("#property-overview a:first");

// only go on if it's on the page and visible
if ( ($cardMls.length > 0) && ($cardMls.is(":visible")) ) {

console.log("foud mls on hevercard");

// watch for click on mls num on card
$cardMls.click(function() {
console.log("mls clicked on hovercard above map pin");
// get the report!!!
KOBJ.a60x561.getReport();
});
} else {
setTimeout(function() {
KOBJ.a60x561.grabMls();
}, 500);
};
};

// GRAB REALESTATE LISTING DETAILS ONCE IT LOADS IN THICK BOX
KOBJ.a60x561.getReport = function() {
if ($K("#public-report-wrap").length > 0) {
console.log("Listing details found!");
} else {
setTimeout(function() {
KOBJ.a60x561.getReport();
}, 500);
};
};
|>;
}
}
}

我测试应用程序时 firebug 控制台的屏幕截图

enter image description here

关于javascript - 使用 CURL 和 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com