我正在尝试为我的项目制作上一个/下一个按钮。这是它的精简代码。
<html>
<head>
<script>
function prevP() {var element = document.getElementById("framePage");
element = element.src;
elementLen = element.length;
elementLen = elementLen-6;
elementChar = element.charAt(elementLen)
elementChar = --elementChar
newElement = element.replace(element.charAt(elementLen),elementChar);
document.getElementById("framePage").src=(newElement);}
function nextP() {var element = document.getElementById("framePage");
element = element.src;
elementLen = element.length;
elementLen = elementLen-6;
alert(elementLen);
elementChar = element.charAt(elementLen)
elementChar = ++elementChar
newElement = element.replace(element.charAt(elementLen),elementChar);
document.getElementById("framePage").src=(newElement);}
</script>
</head>
<body>
<iframe src="www.websiteendingwithnumber1.com" id="framePage"></iframe>
</br>
<input type="button" onClick="prevP()" value="Previous">
<input type="button" onClick="nextP()" value="Next">
</body>
</html>
我的项目创建了大约 40-120 个 html 页面以在 iframe 中显示。您可以使用“上一个/下一个”按钮来翻阅它们。每个页面都以最后的数字动态命名。例如 /path/mountpoint0/page/page0.html、page1.html ... page5.html 等等。我试图做的基本上是让这些函数中的每一个读取 iframe src 的当前 URL,然后根据您按下的按钮将其设置为所需的 src。基本上,如果您在第 5 页,它将分割字符串,如果您点击上一个,则将 src 设置为第 4 页,如果您点击下一个,则设置为第 6 页,等等。
一个警告!对于动态生成的 iframe HTML 文件,我还有一个动态生成的挂载点 (ramdisk)。我的项目将检测是否存在挂载点并相应地重命名为新的挂载点,IE 如果 mountpnt0 存在,则创建并使用 mountpnt1,依此类推,直到可以为止。所以!我看到的错误是它更改了挂载点上的数字,而不是 html 文件。示例 iframe.src = /tmp/prevram0/html/page0.html。我单击下一步,将我吐到一个找不到页面的错误,并试图转到 /tmp/prevram1/html/page0.html。我再次点击下一个,然后它翻转另一个数字,/tmp/prevram1/html/page1.html。所需的操作是 iframe.src = /tmp/prevram0/html/page0.html。我单击下一步,然后将 iframe.src 设置为 /tmp/prevram0/html/page1.html。
如果这令人费解或没有多大意义,我很抱歉。这个项目的大部分内容都在 python 中,我希望使用 HTML/JS 来创建我的项目的报告功能。我对 python 还很陌生,对我的方法很了解,但是 JS 对我来说是全新的,所以我为我所有的(可能的)头痛导致菜鸟错误道歉。但我真的很想要一些关于如何最好地处理这个问题的方向和指导:)
非常感谢大家!
编辑 - 快速澄清。
编辑 2 - 我要感谢大家迄今为止的大力投入!我真的,真的很感激!我现在正在处理工作中的一些事情,所以当我有机会再坐下来处理我的项目时,我会尝试你的建议,看看会发生什么:) 再次感谢大家(和女孩?)!
编辑 3 - window.onload = function(){ pageNo = 0; baseUrl = document.getElementById('+q1+'baseurl'+q1+').innerHTML; }
window.onload = function(){
lPageNo = document.getElementById('+q1+'lPageNo'+q1+').innerHTML;
}
function prevP() {
if(pageNo > 1) { pageNo--; }
var prevEl = document.getElementById('framePage');
prevEl.src = baseUrl + pageNo + '.html';
}
function nextP() {
if(pageNo<lPageNo) { pageNo++; }
var nextEl = document.getElementById('framePage');
nextEl.src = baseUrl + pageNo + '.html';
}
<span id="baseurl" style="display:none;">'+prevram+'/html/page</span>
<span id="lPageNo" style="display:none;">'+str(ptit)+'</span>
(prevram、q1 和 ptit 是我的 python 脚本中的 python 变量。prevram 是挂载点,ptit 是页码计数器。q1 是单引号。)