如果需要的页面存在,如何进行链接测试,如果存在则转到它?

Posted

技术标签:

【中文标题】如果需要的页面存在,如何进行链接测试,如果存在则转到它?【英文标题】:How to make link test if desired page exists, then go to it if it does? 【发布时间】:2014-09-01 21:41:08 【问题描述】:

好吧,所以我不是最精明的 javascript/jQuery 用户,但是就这样吧。

我想制作一系列 html 页面,每个页面都链接到下一个/上一个页面,并在它们到达这些页面的末尾('page1' 和 'lastpage.html')后循环。我知道我可以只用 html 来做到这一点,但我不想不断地去修改每个页面,因为我计划将页面添加到那个银行/页面系列,所以循环页面的数量会增加。

我想到的一个解决方案是测试“下一个”链接是否会像这样存在

$(document).ready(function(e) 
$('#next').click(function()
            .preventDefault();
    .ajax(
        type: 'HEAD',
        url: 'art_2.html',
        success: function() 
                window.location.href = "art_2.html";
        ,
        error: function() 
                window.location.href = "art_1.html";
        
    );
);
);

那么基本上我该如何完成这项工作,或者我是否正在尝试使用可以使用电动工具的工具?

还添加了一个刚刚记住的阻止默认值...

你猜怎么着?不能使用 php :/ 所以是的...

ALSO 我有点缺乏必要的智慧来做很多事情的编码。完全自学...

【问题讨论】:

既然你用的是AJAX,难道你不想用PHP吗? 老实说,这看起来像一个简洁的解决方案,当我开始阅读你的问题时,我虽然“好吧,我可能会用 AJAX 和 'HEAD' 做一些事情......”,它就是:- ) PS 现代 jQuery,您可以使用完成而不是成功 - 请参阅此问题 ***.com/questions/8840257/… @Doodlebunch 无法使用 PHP,我所在的服务器不支持... 【参考方案1】:

这最多是一个损坏的“修复”。无论您正在查看哪个页面,您都应该有一个更新列表的服务器端脚本。

一个不错的实现示例是一个 mysql 数据库,其中包含一个包含每个页面 id(自动增量)、页面 url 和可选页面名称的表。然后根据 sql 查询返回的结果动态创建“下一个”和“上一个”页面。

【讨论】:

好吧,我知道进入这个,但是假设我不知道“mySQL 数据库”是什么,也不知道如何实现一个:D 在这种情况下,你会考虑学习它来为自己省去很多麻烦。 php with mysql 和 sql 这不是必需的,但您必须以某种方式与您的数据库进行通信。如果不是 php,则必须使用可以处理 sql 连接的不同语言。这可能需要你付出体面的努力和专注,但相信我,从长远来看,这是值得的。【参考方案2】:
    将循环/循环中所需的所有页面保存在项目的文件夹中 编写一个读取目录结构的类 根据您的需要操作文件名链接名称并将它们存储到数据结构中 在 UI 中,根据当前页面名称,获取下一个。

我希望这会有所帮助。

您可以将数据结构存储在会话中以通过 UI 访问。

【讨论】:

您有任何可能包含教程或示例的链接吗? 那是我头顶上的一个解决方案,作为您发布的问题的解决方案 :-) 我能想到的是一个实用程序类,它可以为您工作,并返回您的实例带有页面名称的数据结构。在动作类中调用此实用程序类方法(假设您使用的是 Struts),并且该文件夹中存在包含文件的对象,供您构建旋转逻辑。

以上是关于如果需要的页面存在,如何进行链接测试,如果存在则转到它?的主要内容,如果未能解决你的问题,请参考以下文章

如何查找变量中的项目数? (苹果脚本)

如何使用Jquery检查页面上是否存在链接?

移动 Safari 页面卸载/隐藏/模糊以进行深度链接

测试RspecCapybara中的页面是否不存在链接?

链接测试工具总结

如何在验证元素存在时重新开始测试