Простой пример, представленный в Википедии, работал для меня. (вы можете прочитать полное описание в http://en.wikipedia.org/wiki/Circular_dependency#Example_of_circular_dependencies_in_C.2B.2B )
Файл '' 'a.h' ':
#ifndef A_H
#define A_H
class B; //forward declaration
class A {
public:
B* b;
};
#endif //A_H
Файл' '' b.h '' ':
#ifndef B_H
#define B_H
class A; //forward declaration
class B {
public:
A* a;
};
#endif //B_H
Файл' '' main.cpp '' ':
#include "a.h"
#include "b.h"
int main() {
A a;
B b;
a.b = &b;
b.a = &a;
}
function startDownload(url) {
window.location.href = url;
}
Это запустит загрузку на той же странице, точно так же, как при нажатии ссылки без какой-либо цели, кроме _self
.
Чтобы принудительно загрузить файл, убедитесь, что вы отправьте правильные заголовки с ним:
Content-Disposition: attachment; filename="mypdf.pdf";
Это позволит убедиться, что файл не отображается в браузере, а не загружается. Замените часть имени файла на нужное имя файла по умолчанию в диалоговом окне save as
.
Решение HTML5 с атрибутом 'download'
<a href="/images/myw3schoolsimage.jpg" download>
window.open
откроет новое окно \ tab (в зависимости от пользовательских настроек) ... просто загрузить файл используйте
window.location.href = url;
Вы можете использовать это, если url
возвращает загружаемый файл файл, а не веб-страницу