Как вызвать $(document).ready(function() {…}); из другого файла JS
Я хотел бы знать, как вызвать функцию ниже без рефакторинга из другого файла JS.
$(document).ready(function() {
check();
function check () {
setTimeout(function(){
location.reload(true);
}, 10000);
}
});
Я видел вопрос, существующий для этого вопроса, очень старый, но я не могу понять, как использовать ответ для моей функции. Stackru ответ на другой вопрос
Я хотел бы увидеть пример с моей функцией и предлагаемым решением по ссылке.
Мой пример, который не работает правильно:
//= require rspec_helper
//= require background_index
//= require sinon
describe("Background Index, timeout after 10s", function() {
// Tweak for testing
var doc_ready = $.readyList[0]();
it ("Reload the location", function(){
clock = sinon.useFakeTimers();
var check = doc_ready.check();
var set_timeout = doc_ready.setTimeout();
/*var stub_check = sinon.stub(check, "check");
var stub_timeout = sinon.stub(timeout, "setTimeout");*/
timedOut = false;
setTimeout(function () {
timedOut = true;
}, 1000);
timedOut.should.be.false;
clock.tick(10010);
timedOut.should.be.true;
clock.restore();
});
});
1 ответ
Это переписано из ответа, который вы вставили.
$(document).ready(check);
function check () {
setTimeout(function(){
location.reload(true);
}, 10000);
}
// In the test file
TestFile.prototype.testDocumentReadyContents = function () {
check();
}
Лучшим способом было бы включить все JS-файлы в ваш HTML с <script src="./path-to-file">
а затем просто вызовите функции в том порядке, в котором вы хотите, чтобы они были вызваны.