7

我很好奇是否有一种方法可以仅使用 URL 将某人发送到给定页面的特定行。Citebite 会这样做,但是它链接到缓存页面而不是实际的实时页面。http://citebite.com/

你也可以对 PDF 做类似的事情,给它一个指定的页面#:链接到列出的 pdf 中的第 6 页。 http://mises.org/journals/scholar/long.pdf#page=6

我做了很多查找,我发现的只是将链接嵌入 HTML,这不是我想要的。理想情况下,我希望能够只发送一个跳转到特定文本行/突出显示它的 URL(就像 Citebite 所做的那样,但不必使用 Citebite)。

4

4 回答 4

7

视情况而定:

1-你自己的内容

一种。只需添加一个href id,然后发送一个链接到那个(http://exmaple.com/document.php#myLine

湾。对于更高级的解决方案,您可以滚动到特定区域并使用 javascript 突出显示它,基本上您可以这样调用: http ://example.com/document.php?scrollX=100&scrollY=230

在你的 PHP 代码中,你有一个这样的函数:

<?php
if(isset($_GET['scrollX']) && isset($_GET['scrollY')){
    ?>
       <script type="text/javascript">
           window.scrollTo(<?= $_GET['scrollX'];?>, <?=$_GET['scrollY'];?>);
       </script>
    <?
}
?>

您还可以使用 JQuery 并做更多花哨的事情,例如突出显示文本或根据参数更改 CSS 值

2-别人的内容

如果没有浏览器扩展或CiteBite等外部服务,您无法直接链接到特定行或区域,但是通过一些黑客,您可以构建自己的小服务来显示网站并在其上运行您自己的 JS(想想 iFrames 或类似的东西)

于 2013-06-11T18:05:18.577 回答
6

您必须为您的元素提供一个 ID。示例:<div id="footer">Footer</div>。如果你去mypage.html#footer,浏览器会带你去那里。

如果不是您的网页,请查看代码,您可能会在所需文本旁边找到一个 ID 元素。

于 2013-06-11T17:57:00.200 回答
3

据我所知,如果没有某种缓存、插件或插件或完全控制可以嵌入锚标记的 html,您就无法在本地执行此操作。

于 2013-06-11T17:54:57.793 回答
3

Chrome 74 中有一个名为 Scroll To Text Fragment 的实验性功能,它允许您指定要在 URL 中突出显示的短语。我们可能需要等待一段时间才能最终确定并默认在浏览器中支持。

同时,如果您要链接的文章也有 PDF 版本,您可以使用类似第 2 页https://example.org/file.pdf#page=2&search=findme突出显示的 URL。findme

于 2020-01-21T14:06:28.160 回答