我正在制作一种“html app”,其中包含大量单独的.html文件。 “应用程序”是一种“专业提示”的东西,在每一页上,都是生命的提示。我想知道是否有一个代码用于在同一目录中打开下一个html文件,而不是更改每个html文件中的下一个提示以打开它。 示例:
<a href="1.html">Next Tip</a>
然后在下一个提示的html文件中,我将不得不放:
<a href="2.html">Next Tip</a>
等等:
<a href="3.html">Next Tip</a>
对不起,如果我不够清楚。
答案 0 :(得分:0)
您可以将所有文件重命名为有序方式,例如tip1.htm,tip2.htm等,Bulk Rename Utility或Ant Renamer如果您不想弄脏自己的话很多CMD和PowerShell。之后,将此PHP代码添加到您的主页:
<?php
$file="";
$counter=0;
$arr=array('tip','0','.htm');
function next_file()
{
$counter=$counter+1;
$arr[1]=streval($counter);
include(join("", $arr));
}
?>
然后每次用户点击链接时调用next_file()函数。
答案 1 :(得分:0)
如果您想要一个仅限客户端的解决方案,这可能适用于您的方案。为a标记指定id并将脚本部分添加到页面。它将解析您当前的文件名,从中解析数字,添加一个并构建下一个网址,替换a
标记上的该值
<html>
<head>
<script src="nav.js"></script>
</head>
<body>
<!-- REMEMBER TO PUT THE ID ON IT -->
<a id="next" href="n.html">next</a>
</body>
</html>
并在您的文件夹中创建一个名为nav.js
的新文件,并将此代码添加到其中:
window.onload = function() {
var a=document.getElementById('next'),
l=document.location.href,
s=Math.max(l.lastIndexOf('\\'),l.lastIndexOf('/')),
d=l.indexOf('.'),
f=l.substring(s+1,l.indexOf('.')),
p=l.substring(0,s+1),
e=l.substring(s+1+f.length, l.length),
n=parseInt(f,10) + 1;
if (a) {
a.href= p + n.toString()+e;
}
};
答案 2 :(得分:0)
如果您有1.html,2.html等文件,这将有效。
在你的html页面上包含一个空白div(你想要链接的位置):
<div id="link"></div>
在页面中包含单独的javascript文件:
<script src="app.js"></script>
然后在javascript文件中写下这个:
window.onload = function() {
var maxPages = 3;
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
var thenumber = filename.replace(".html", "");
thenumber++;
if (thenumber > maxPages) {
document.getElementById("link").innerHTML = '<a href="1.html">Next Tip</a>';
} else {
document.getElementById("link").innerHTML = '<a href="' + thenumber + '.html">Next Tip</a>';
}
}
设置maxPages
所以当你到达所有提示的末尾时,你将回到开头。