【发布时间】:2016-08-08 09:54:49
【问题描述】:
我有一个 ASP.NET C# 应用程序。我在 iframe 内的特定页面上显示 PDF 文件。我需要根据文本框值显示 PDF 的特定页面。我怎样才能做到这一点?
iframe 代码如下所示:
<iframe runat="server" id="lobjPDFObj" height="600" width="800" > </iframe>
以下是文本框的详细信息
<asp:TextBox ID="txtTo" runat="server" Text="1" class="page_txtbox" onfocus="synchronizePDF(this);" ></asp:TextBox>
javascript函数详情
function synchronizePDF(Field) {
//parent.document.getElementById('lobjPDFObj').setCurrentPage(Field.value);
var childiFrame = parent.document.getElementById('lobjPDFObj');
var URL = childiFrame.contentWindow.location.href;
//var URL = childiFrame.src;
var pos = URL.indexOf('#page');
if (pos < 0) pos = URL.length;
var result = URL.substring(0, pos);
if (URL != 'about:blank') {
result += '#page=' + Field.value;
}
childiFrame.contentWindow.location.reload(true);
childiFrame.contentWindow.location.href = result;
//childiFrame.src = result;
//parent.document.getElementById('lobjPDFObj').setAttribute("src", result);
}
但这不起作用。它在“childiFrame.contentWindow.location.href”处给出错误,因为请求访问的框架具有“http”协议,正在访问的框架具有“https”协议。协议必须匹配。
我怎样才能摆脱错误?我在 url 中将 page no 作为参数传递。如何在不刷新整个内容的情况下显示新页面?
【问题讨论】:
-
你的 iframe 的初始 url 是什么?该错误表明您的网站在 http 上运行,并且 iframe 源 url 指向 https。只有当源 url 指向与您的网站相同的域时,您才能访问 iframe。
-
@Lesmian: test-doc.com/test/FileStorage/20160407/Input/… 013043.pdf 是路径...我能够在 iframe 中查看文档。但是在获取 contentWindow 详细信息时出现错误。
-
你能不能再给我一个 pdf 网址,因为它不适合我?
-
@PiyushKhatri:这是一个本地链接。请尝试使用任何外部 pdf url。
标签: javascript jquery asp.net pdf iframe