60cfb2aa34bfb67c6761f910ec684c7a869641b4.svn-base 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div style="display: none">
  3. <iframe
  4. :id="id"
  5. :src="url"
  6. frameborder="0"
  7. width="100%"
  8. height="550px"
  9. scrolling="auto">
  10. </iframe>
  11. </div>
  12. </template>
  13. <script>
  14. import Vue from 'vue'
  15. import { ACCESS_TOKEN } from "@/store/mutation-types"
  16. export default {
  17. name: "PdfPreviewModal",
  18. data () {
  19. return {
  20. url: window._CONFIG['pdfDomainURL'],
  21. id:"pdfPreviewIframe",
  22. headers:{}
  23. }
  24. },
  25. created () {
  26. const token = Vue.ls.get(ACCESS_TOKEN);
  27. this.headers = {"X-Access-Token":token}
  28. },
  29. computed:{
  30. },
  31. mounted(){
  32. window.addEventListener('message', this.handleScanFileMessage);
  33. },
  34. methods: {
  35. handleScanFileMessage (event) {
  36. // 根据上面制定的结构来解析iframe内部发回来的数据
  37. const data = event.data;
  38. console.log(data);
  39. },
  40. previewFiles (title,token) {
  41. var iframe = document.getElementById("pdfPreviewIframe");
  42. var json = {"title":title,"token":token};
  43. iframe.contentWindow.postMessage(json, "*");
  44. },
  45. }
  46. }
  47. </script>
  48. <style scoped>
  49. </style>