在symfony2中使用viewer.js插件

时间:2013-11-17 22:13:44

标签: javascript css symfony twig

我需要帮助才能安装http://viewerjs.org插件来查看Symfony2中的pfd文件。该插件包含css / js文件和具有自己的文件夹结构的图像。

这就是我所做的:

  1. 将所有js文件复制到AcmeBundle / Resources / public / js

  2. 将所有css文件复制到AcmeBundle / Resources / public / css

  3. 将图像文件夹(最初插入到插件中的css文件夹中)复制到AcmeBundle / Resources / public / images

  4. 将css文件的url(images / xxxx)功能更改为url(../ images / xxxx)

  5. 安装资产:php app / console assets:install web

  6. 将以下代码包含在我想要使用viewer.js的视图中。

    <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>
    
  7. “1.pdf”文件位于/ web / uploads /文件夹中。

    当我加载视图时,我会找到iframe元素的位置:

      

    未找到

         

    在此未找到请求的网址/bundles/acme/js/viewer.js/   服务器

1 个答案:

答案 0 :(得分:3)

这不是Viewer.JS的工作方式。

您无法将bundles/acme/js/viewer.js/显示为iframe的来源因为Viewer.js中的index.html是应显示为来源的文件。

  1. 下载Viewer.js并将其解压缩到AcmeBundle/Resources/public/,这样您就可以获得AcmeBundle/Resources/public/Viewer.js/ dir以及来自zip的所有文件

  2. 运行php app/console assets:install web

  3. 放入你的树枝视图:

    <iframe id="viewer" src="{{ asset('bundles/acme/Viewer.js/index.html') }}#{{ asset('uploads/1.pdf') }}" width='400' height='300' allowfullscreen webkitallowfullscreen></iframe>
    
  4. 您不需要放置脚本和样式,因为它们会加载到Viewer.js/index.html作为查看器