1

HTML 形式の電子ブックに出力するサイトから、オンラインで何かを読んでいます。

何もダウンロードしたり、何かを変換したりしたくありませんが、現在の行をブックマークして、ブックマークをクリックすると、(ページだけでなく) それぞれの行に移動したいです。 .

このサイトにはテキストしか含まれていないため、www.wikipedia.org/article#subchapter のように「#」を使用してトリックを行うことはできません。

(初歩的な言語で申し訳ありません。私はジュニア開発者で、JavaとABAPで働いていましたが、Web関連の経験はありません)

特定の行に移動する実際の Javascript コードであるブックマークを保存できると思いますが、Web の専門家ではないため、どこから始めればよいかわかりません。

どんなアイデア(または実装)も素晴らしいでしょう。

Thx、あなたたちが支配します。

[編集]私のブックマークがテキストの一部を保存した場合もAFAIKで動作する可能性があり、ブックマークをクリックするとそのテキストに移動します

[編集]

http://gutenberg.spiegel.de/buch/2095/2これは基本的にサイトです。ドイツ語は気にしないでください。

4

3 に答える 3

1

100語ごとにタグを挿入する小さなクロム拡張機能を書くことができます。次に、実際に参照した#構文を使用できます。

HTMLに挿入**:

<a name="line40" />

あなたのブックマーク

<a href="page.html#line40">bookmark</a>

**注:HTML5では、「name」属性のアンカーではなく、「ID」のタグを使用してください。

于 2012-09-22T09:24:25.060 に答える
1

DOMには線のようなものはありません。ただし、要素までスクロールすることはできます。scrollToを実行する本当に素晴らしいjQuery拡張機能があります。

しかし、ブックマークを作成するのは少し面倒かもしれません。jQueryとこのプラグインの両方が必要だからです。

それを機能させるには、次のようにブックマークを付ける必要があります。

javascript: document.location = [website url] ; [jQuery's File content] ; [the plugin] ; [jQuery scrollTo code]

どこ[jQuery scrollTo code]にあるでしょう:

$(...).scrollTo( $('ul').get(2).childNodes[20], 800 );
于 2012-09-22T09:04:24.467 に答える
1

BlackJackMackは一般的なアイデアで私を打ち負かしましたが、要素を挿入するコードと、事後に特定のハッシュにジャンプする方法を次に示します(最初にページにアクセスしたときにIDが存在しないため必要です)。

paragraphs = document.getElementsByTagName('p');
for (x = 0; x < paragraphs.length; x++) {
    var p = paragraphs[x];
    var a = document.createElement('a');
    a.id = 'p' + x;
    a.href = '#' + a.id;
    a.innerText = '#';
    p.parentNode.insertBefore(a, p)
}

if (document.location.hash) {
    var hash = document.location.hash;
    document.location.hash = '';
    document.location.hash = hash;
}

これはChromeでのみテストしたので、覚えておいてください。コンソールに貼り付けて試すことができます。ブックマーク コードへの適応を容易にするために、jQuery やプラグインは使用しませんでした。

これは、ページが段落タグを正しく使用している場合にのみ機能することに注意してください。したがって、すべてが div または何かである場合は、調整する必要があります。

于 2012-09-22T10:11:01.093 に答える