0

我正在使用 scribd 来显示 pdf。通过单击 Page 3,Middle,End 链接,应加载相应的页面。但是页面加载不正确。在 FF 中我没有收到任何错误。但是在 chrome 控制台中,我收到了这个错误。无法在“DOMWindow”上执行“postMessage”:提供的目标来源(“ http://www.scribd.com ”)与收件人窗口的来源(“ https://www.scribd.com ”)不匹配。 谁能帮我解决这个问题?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

  <title>Scribd Javascript API Demo</title>

  <script type="text/javascript" src='https://www.scribd.com/javascripts/scribd_api.js'></script>
</head>

<body>
  <div id="container">
    <div id='col1'>
      <div id='embedded_doc'><a href='https://www.scribd.com'>Scribd</a></div>
    </div>

    <div id='col2'>
      <h2 id="header"> Loading Document... </h2><br/>
      <span id="author"></span>
      <div id="bookmarks">
        <h4>Bookmarks</h4>
        <ul>
          <li><a href="javascript:goToPage(3);">Page 3</a></li>
          <li><a href="javascript:goToMiddle();">Middle</a></li>
          <li><a href="javascript:goToEnd();">End</a></li>
        </ul>
      </div>
      <div id="comment"></div>
    </div>
    <div class="clearfix">&nbsp;</div>

  </div>


  <script type="text/javascript">


      // Data



      // Instantiate iPaper
      var scribd_doc = scribd.Document.getDoc(2520449, 'key-1127428tb3rbejns9bhr');


      // Parameters
      scribd_doc.addParam('height', 420);
      scribd_doc.addParam('width', 530);
      scribd_doc.addParam('auto_size', true);
      scribd_doc.addParam('mode', 'slideshow');
      scribd_doc.addParam('jsapi_version', 2);     

      // Write the instance
      scribd_doc.write('embedded_doc');

      // Bookmark Helpers
      var goToPage = function(page) { alert(scribd_doc.api.getPageCount());
        if (scribd_doc.api){ 
          scribd_doc.api.setPage(3);
        }
      }

      var goToMiddle = function() {
        if (scribd_doc.api){
          goToPage( Math.floor(scribd_doc.api.getPageCount()/2) );
        }
      }

      var goToEnd = function() {
        if (scribd_doc.api) {
          goToPage(scribd_doc.api.getPageCount());
        }
      }
  </script>
  View Source and you'll see that this is all dynamically generated using the Scribd Javascript API.
</body>
</html>
4

1 回答 1

0

我通过下载 scribd_api.js 文件并在 js 中修改 https 的路径来解决此问题。现在设置页面正在正常工作,没有任何错误。

于 2014-12-01T07:16:44.533 回答