javascript - 在同一页面上加载外部 URL html,需要有导航 page1、2、3...,不能使用 iframe,尝试使用 DIV'S 但会弄乱外部源的 CSS
问题描述
第一次发帖,我已经搜索过了,这就是我想要做的,旧实现使用 iframe(有一个 iframe 用于导航,另一个用于 URL)但不再适用于 Chrome,无法启用 iframe。链接是这样的:
由于在论坛上搜索,这是我尝试过的:
$(function(){
var $cur = $('#group .current');
var $items = $('#group .item');
function hideButtons() {
$cur = $('#group .current');
var index = $cur.index();
if(index > 0) {
$('#prev').show();
} else {
$('#prev').hide();
}
if(index < $items.length - 1) {
$('#next').show();
} else {
$('#next').hide();
}
}
hideButtons();
$('#next').click(function(){
$cur.next().addClass('current');
$cur.removeClass('current');
hideButtons();
});
$('#prev').click(function(){
$cur.prev().addClass('current');
$cur.removeClass('current');
hideButtons();
});
});
.container {
display: flex;
justify-content: center;
}
.center {
width: 800px;
height: 90%;
}
.item {
display: none;
}
.item.current {
display: block;
}
.rptButton
{
width: 80px;
}
.navButton
{
width: 90px;
}
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="<%=request.getContextPath() %>/javax.faces.resource/jquery-1.7.2.min.js.xhtml?ln=javascripts"></script>
<style type="text/css">
</style>
</head>
<title></title>
<body >
<div style="text-align: center">
<button id="next" class="navButton">next</button>
<button style="display:none" id="prev" class="navButton">previous</button>
</div>
<div class="container" >
<div class="center" id="previewFrame" title="Preview Frame">
<div id="group" >
<!-- display page 1 no matter what-->
<div id="divIDNo1" class="current item">
<c:url value="<%=openURL%>" var="myURLCustom">
<c:param name="page" value="1" />
</c:url>
<c:import url="${myURLCustom}" />
</div>
<!-- display page 2 and so on-->
<c:forEach var = "i" begin = "2" end = "<%=numOfPages%>" varStatus="theCount">
<div id="divIDNo${theCount.index}" class="item" >
<c:import url="<%=openURL%>">
<c:param name="page" value="${i}"/></c:import>
</div>
</c:forEach>
</div>
</div>
</div>
</body>
</html>
这可行,但在第 1 页之后,源页面的 CSS 搞砸了,字体变大,其他字体变小,线条消失。
我也尝试过加载外部页面,比如 10 页,带有分页符,但是即使打印选项正确显示它们,预览窗口也会将页面聚集在一起。
我试过看 MutationObserver 但仍然是编码新手,不知道如何实现这一点。
网址是这样的:
http://localhost:8080/viewDoc?entry=abc?page=1, 然后?page=2, ?page=3,....
它们需要在弹出窗口中加载,然后导航(下一个、上一个、第一个、最后一个)以转到下一个 URL,但弹出窗口必须保持打开状态,只有内容必须更改(第 1、2、3 页...... )
解决方案
推荐阅读
- android - LottieAnimationView 在 Android 中不显示图像缩放效果
- git - 重新启用 Visual Studio Code GitHub 身份验证
- angular - AngularFire身份验证中的authState和用户有什么区别?
- flutter - Flutter 无法加载带有德语变音符号的资产
- php - 带有 laradock 的 laravel 回声服务器
- python-3.x - 具有多个子域的 Python 允许来源
- amazon-web-services - 我可以在免费套餐中从 AWS AppSync 控制台对 HTTP 终端节点进行后调用吗?
- arrays - 如何在 MQL5 中定义动态嵌套数组?
- multithreading - Azure 函数返回唯一序列号
- visual-studio-code - 如何区分 vscode 工作区文件夹?