Javascript 在调用另一个函数之前,确保加载了JS文件并调用了JS函数

Javascript 在调用另一个函数之前,确保加载了JS文件并调用了JS函数,javascript,jquery,ajax,wordpress,Javascript,Jquery,Ajax,Wordpress,我有一个跟踪代码的问题,它不能正常工作,因为它是在加载所需的JS脚本和函数之前调用的。情况如下: 成功提交表单(WordPress上的CF7)后,立即调用以下函数 function fn111Rooms(){ var email_address = document.getElementsByName("your-email")[0].value; fnTransaction('Room booked', 'userid=' + email_address);

我有一个跟踪代码的问题,它不能正常工作,因为它是在加载所需的JS脚本和函数之前调用的。情况如下:

成功提交表单(WordPress上的CF7)后,立即调用以下函数

    function fn111Rooms(){
       var email_address = document.getElementsByName("your-email")[0].value;
       fnTransaction('Room booked', 'userid=' + email_address);
       location.replace('http://example.com/thank-you');
     }
然而,问题是,需要事先调用以下脚本+函数才能使一切正常工作

<script type="text/javascript" src="http://www.example.com/Tracking.js"></script>
<script>fnPageHit('4ddc12d4344');</script>
然后在提交表单时只调用一个函数

你可以看看

假设您有一个必须执行的函数

function yourFirstFunction(){ 
    $.post('/somewhere'); 
} 
在第一个完成后的第二个

function yourOtherFunction() {
    //stuff
}
然后可以使用以下构造

$.when( yourFirstFunction() ).then(function(data) { 
    yourOtherFunction()
})

i、 e当
yourFirstFunction
完成时(ajax请求完成)
yourSecondFunction
将被执行

一种方法是以一定间隔应用无限循环并检查以下条件

fnPageHit&&fnPageHit('4ddc12d4344')


因此,当加载ile时,u将获取函数,在其他情况下,fnPageHit将未定义,因此它将不会执行,也不会导致错误

请查看上面的更新答案,如果可以,请告诉我您的想法。:)据我所知,您需要登记房间预订。考虑到成功提交表单时会调用
fn111Rooms
,这将起作用。我所说的成功是指房间实际上已经被预订了。
$.when( yourFirstFunction() ).then(function(data) { 
    yourOtherFunction()
})