@FungusWarrior
Я знаю, что ничего не знаю

Как запустить скрипт на динамически сгенерированной странице?

Здравствуйте. У меня есть форма. На форме ссылки на PDF документы при нажатии на которые документ скачиваеться а не открываеться. Поэтому я переопределил нажатие на эти ссылки следующим образом:
function OpenPDF(){
$('a.fileImage').unbind();
$('a.fileImage').on('click', function(){
    var FileRequestData = $(this).parent().find('[filerequestdata]').attr('filerequestdata');
    var FilePath =$(this).parent().find('[relativepath]').attr('relativepath');
    var iURL=FilePath;
    var symbols=['+','\\','=',' ','&'];
    var cURL='';
    for (var i = 0, len = iURL.length; i < len; i++) { 
        var flag=0; 
        for(var j=0;j<symbols.length;j++) {
             if(iURL[i]==symbols[j]) { 
                cURL =cURL+ encodeURIComponent(iURL[i]); 
                flag++; } } 
        if(flag===0)
                { cURL+=iURL[i];} }

var URL ='http://k2.smartk2.net//Runtime/Runtime/File.ashx?_path='+cURL+'&_filerequestdata='+FileRequestData;
var frog = window.open("","wildebeast","width="+screen.width+",height="+screen.height+",scrollbars=1,resizable=1");	
var html = "<html><head></head><body> <embed src='"+URL+"' type='application/pdf' width='100%' height='95%'> </body></html>";	
frog.document.open();	
frog.document.write(html);	
frog.document.close();})
}


Здесь я вытягиваю данные для ссылки, формирую урл и открываю этот файл в новом окне при помощи тега embed. Все работает прекрасно за исключением одного но. PDF открываеться только при условии что у USER установлен плагин для чтения PDF. А если допустить что USER пользуеться IE без плагина, то открываеться просто пустое окно, а это недопустимо.
Я нашел два пути решения:
1) Определять установлен ли у USER плагин для чтения PDF. Если нет то не нужно ничего переопределять и пускай себе скачивает.
2) Подключить какойто PDF.js или тому подобные чтобы независимо от наличия плагина был виден PDF.

После многочасовых страданий мне так и не удалось определить установлен ли в IE11 AdobeReader плагин.
Со вторым способом тоже проблемы. При попытке подключить какойто скрипт вот здеся:
var html = "<html><head></head><body> <embed src='"+URL+"' type='application/pdf' width='100%' height='95%'> </body></html>";

он у меня выполняеться в родительском окне а не в новом.
Буду очень благодарен за советы и идеи.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы