该脚本不是来自我的网站,我想调用crocodile()
,因为现在我必须等待20秒钟才能被调用。
我想通过浏览器控制台或UserJS或Selenium实现它。
但是我怀疑这是不可能的,
Access and modify variable in anonymous function as parameter in other function JS/Angular
对吗?我不确定,因为我对js的经验很少
$.fn.countdown = function (callback, duration, message) {
var countdown = setInterval(
....
callback.call(...);
...
, 1000);
};
$(document).ready(function () {
var link = 'https://example.com/c?p=1';
var userId = parseInt(2);
if (isNaN(userId)) {
....
} else {
/* counts down 20 seconds before call */
$(".countdown").countdown(crocodile, 20, "");
}
function crocodile() {
var _l = 'https://example.com/c?p=1';
var _sID = parseInt(1);
var _uID = parseInt(2);
$.ajax({
type: "GET",
cashe: false,
url: '/example',
data: {
idS: _sID,
userId: _uID,
link: _l
},
dataType: "json",
traditional: true,
success: function (data) {
$(location).prop('href', data.url);
}
});
}
});
答案 0 :(得分:1)
在文档准备功能内部定义了鳄鱼功能。这意味着只能从该函数中调用它,因为它不在该范围之外。如果您希望能够使用测试套件从外部调用它,而不必等待20秒钟(或者至少是倒计时注释所说的话),则必须将方法定义从文档就绪调用中移出。火。
如果您希望在不等待很长时间的情况下进行测试,请考虑将其配置为20秒,以便您的测试套件可以缩短它。另外,如果您在文档准备调用之外定义鳄鱼功能,则实际上可以对该功能进行单元测试。