背景:我正在通过VWO对网站进行A/B测试。我可以编写一个在页面加载时运行的脚本,但我不能访问任何网站的预先存在的脚本,也不能以任何方式改变它们的代码,除了在JS中“覆盖”(例如移除div,更改CSS属性,附加div)之外页面加载。第一个函数完成时执行第二个函数W/O回调参数
问题:页面加载时,有一个空的<div id="priceinfo"></div>
。在页面的其他地方,有一个<a href="javascript:RequestPriceInfo()" id="requestPrice"><img ...></a>
。在RequestPriceInfo()
内部,该功能根据页面上的某些表单字段值将HTML输出到div#priceinfo
。它还附加一个“订单”按钮(实际上它不是一个按钮,而是嵌套在锚标签中的图像)。我试图使用JQuery的attr()
函数更改“按钮”图像的源代码。
进度:无。我尝试过使用$('a#requestPrice').click(function() {...});
,但它不能改变图像的来源,我推测因为当点击a#requestPrice
并且我的函数运行时,内容还没有立即加载到页面上。我需要一种方法来告诉RequestPriceInfo()
何时被触发并完成,但RequestPriceInfo()
上没有回调参数,我无法访问脚本来修改它并添加一个。
潜在有用信息:有一个变量priceRequested
,它在RequestPriceInfo()
运行时从false更改为true。虽然我没有意识到这个解决方案将会很优雅,但使用Object.prototype.watch()
来监控这个变量似乎不合理,但我已经没有想法。
如何检测RequestPriceInfo()
何时完成执行我的功能而不编辑添加回调参数的功能?
RequestPriceInfo()是做什么的?这是一个Ajax电话吗?拦截AJAX调用 – charlietfl