Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to link to specific line of text in page, using only URL?

I am curious if there is a way to use only a URL to send someone to a specific line at a given page. Citebite does this, however it links to a cached page instead of the actual live page. http://citebite.com/

You can also do something similar with PDF's where you give it a designated page #: Link to page 6 in the listed pdf. http://mises.org/journals/scholar/long.pdf#page=6

I have done a lot of looking and all I am finding are for embedding the link in HTML, which isn't what I'm after. Ideally I would like to be able to just send a URL that jumps to a specific line of text/ highlights it (exactly like Citebite does, but without having to use Citebite).

like image 374
Fuzz Evans Avatar asked Jun 11 '13 17:06

Fuzz Evans


3 Answers

Depends on the situation:

1-Your own content

a. Simply add a href id, and then send a link to that (http://exmaple.com/document.php#myLine)

b. For a more advanced solution, you can scroll to a specific area and highlight it using javascript, basically you call something like this: http://example.com/document.php?scrollX=100&scrollY=230

and in your PHP code you have a function like this:

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

You can also use JQuery and do more fancy things like highlighting text or changing CSS values depending on the arguments

2-Someone else's content

You cannot directly link to a specific line or area without a browser extension or an external service like CiteBite, however with some hackery you can build your own little service that displays the website and run your own JS on it (think iFrames or something like that)

like image 53
Mostafa Berg Avatar answered Oct 19 '22 17:10

Mostafa Berg


You must give an ID to your element. Example: <div id="footer">Footer</div>. If you go to mypage.html#footer, the browser will get you there.

If it's not your webpage, look in the code, you may find an ID element next to the text you want.

like image 6
David Bélanger Avatar answered Oct 19 '22 19:10

David Bélanger


There is an experimental feature in Chrome 74 called Scroll To Text Fragment which allows you to specify phrases to be highlighted in a URL. We may have to wait a while before this becomes finalised and supported in browsers by default.

Meanwhile, if the article to which you want to link also has a PDF version, you could use a URL like https://example.org/file.pdf#page=2&search=findme to highlight findme on page 2.

like image 4
Silas S. Brown Avatar answered Oct 19 '22 18:10

Silas S. Brown