Недавно мы попытались добавить библиотеку PDFJS в нашу надстройку Microsoft Office. В папку Scripts/PDFjs входят файлы pdf.js и pdf.worker.js.

// Home.html
...
<script src="Scripts/PDFjs/pdf.js" type="text/javascript"></script>
...

// Home.js
Office.initialize = function (reason) {
    $(document).ready(function () {
         pdfjsLib.workerSrc = './pdf.worker.js';
    });
}

Visual Studio показывает исключение и зависает:

SCRIPT5: Исключение было сгенерировано в строке 2058, столбец 5 в https://localhost: 44332/Scripts/PDFjs/pdf.js 0x80070005 - Ошибка времени выполнения JavaScript: доступ запрещен. pdf.js (2058,5)

img_1

Кроме того, стоит отметить, что при включении pdf.worker.js из CDN(не локально), например src="https://npmcdn.com/pdfjs-dist@2.0.943/build/pdf.worker.js" тогда работает как шарм.

Что это может быть и как заставить это работать?
большое спасибо

1 ответ1

0

Visual Studio показала это исключение, даже если оно находится в блоке try/catch, потому что оно загружено с локального компьютера, поскольку по умолчанию зависает на исключении любого локального хранимого файла, но не удаленно. Таким образом, снятие флажка « Разорвать, когда этот тип исключения, если выброшено » решило проблему.

Роэл ван:
Причина, по которой вы не получили его с CDN, заключается в том, что VS работает только с исключениями в вашем собственном коде. Сейчас он рассматривает lib как «ваш собственный код», потому что он локальный.

доказывать

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .