我需要帮助来安装 http://viewerjs.org在 Symfony2 中查看 pfd 文件的插件。该插件包含具有自己的文件夹结构的 css/js 文件和图像。
这是我所做的:
复制所有js文件到AcmeBundle/Resources/public/js
复制所有css文件到AcmeBundle/Resources/public/css
复制images文件夹(原来在插件里的css文件夹)到AcmeBundle/Resources/public/images
将css文件的url(images/xxxx)函数改为url(../images/xxxx)
安装 Assets :php app/console assets:install web
将以下代码包含到我想使用 viewer.js 的 View 中。
<link rel= "stylesheet" type="text/css" href="{{ asset('bundles/acme/css/viewer.css') }}" /> <script src= "{{ asset('bundles/acme/js/PluginLoader.js') }}" type="text/javascript"></script> <script src= "{{ asset('bundles/acme/js/viewer.js') }}" type="text/javascript"></script> <iframe id="viewer" src="{{ asset('bundles/acme/js/viewer.js') }}/#../uploads/1.pdf" width='400' height='300' allowfullscreen webkitallowfullscreen></iframe>
“1.pdf”文件位于/web/uploads/文件夹中。
当我加载 View 时,我进入了 iframe 元素的位置:
Not Found
The requested URL /bundles/acme/js/viewer.js/ was not found on this server.
最佳答案
这不是 Viewer.JS 的工作方式。
您不能将 bundles/acme/js/viewer.js/
显示为 iframe 的源,因为 Viewer.js 中的 index.html 是应该显示为源的文件。
下载Viewer.js并将其解压缩到
AcmeBundle/Resources/public/
,这样您就应该拥有包含所有 zip 文件的AcmeBundle/Resources/public/Viewer.js/
目录运行
php app/console assets:install web
放入你的 Twig View :
<iframe id="viewer" src="{{ asset('bundles/acme/Viewer.js/index.html') }}#{{ asset('uploads/1.pdf') }}" width='400' height='300' allowfullscreen webkitallowfullscreen></iframe>
您不需要放置脚本和样式,因为它们已加载到作为查看器的Viewer.js/index.html
关于javascript - 在 symfony2 中使用 viewer.js 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036876/