2015-12-08 3 views
0

У меня есть объект:Обновить HTML Object с помощью Javascript

<object id="pdfViewer" data="<?=$b64?>" type="application/pdf" title="document" width="100%" height="800"></object> 

$ B64 является строка, как это: $ B64 = "Данные: применение/PDF; base64, base64 строка".

При загрузке первой страницы в формате pdf отображается в chrome и firefox, а не в IE (без ошибок).

Я обновить этот объект с помощью AJAX с этим кодом:

var $pdf = $("#pdfViewer"); 
$pdf.attr('data','data:application/pdf;base64,'+bin64Corrected); 

Он работает на светлячок, а не на хром (он работал в предыдущей версии) и до сих пор не IE: D.

Я искать решение, попытался это:

$pdf.load('data:application/pdf;base64,'+bin64Corrected); 

Это не работает.

Спасибо за помощь!

EDIT

Он теперь работает на хроме, я должен был изменить этот код, чтобы исправить яваскрипта загрузки части:

newObject = '<object id="pdfViewer" data="data:application/pdf;base64,'+bin64Corrected+'" type="application/pdf" title="document" width="100%" height="800"></object>'; 
$pdf.parent().append(newObject); 

Но это все еще не работает в IE, единственный способ, которым я могу заставить его работать, чтобы сделать это:

<object id="pdfViewer" data="site/displayPdf" type="application/pdf" title="document" width="100%" height="800"></object> 

сайт/displayPdf является URL, который отправляет данные в формате PDF с заголовками PDF.

Значит ли кто-либо из вас знает, невозможно ли загрузить PDF-объект в IE на основе строки base64?

Спасибо!

+0

Это решение работает? http://stackoverflow.com/questions/10841239/enabling-refreshing-for-specific-html-elements-only – Blazemonger

+0

nope, спасибо в любом случае:/ – banibanc

+0

Возможно, вы могли бы вместо этого встроить PDF в iframe и [перезагрузить это] (http://stackoverflow.com/questions/86428/whats-the-best-way-to-reload-refresh-an-iframe-using-javascript). – Blazemonger

ответ

0

Вы пытались увеличить максимальную длину возвратов JSON?

В вашем web.config, найти это или добавить его, если вы не имеете его:

<system.web.extensions> 
<scripting> 
    <webServices> 
    <jsonSerialization maxJsonLength="86753090" /> 
    </webServices> 
</scripting> 

Смотрите, если это помогает.

+0

нет, но тот факт, что он работает над firefox, заставил меня подумать, что это не проблема сервера, не так ли? – banibanc

+0

Вы хотя бы попробовали? –

+0

написано на php, поэтому для json нет предела – banibanc