Thread BBCode: more-Tag (25 answers)
Opened by pq at 2011-01-08 21:57

topeg
 2011-01-09 01:03
#144317 #144317
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Hier ein Beispiel wie man es mit dem nachladen des Textes machen kann. Wenn Javascript deaktiviert ist bleiben die links erhalten.
Code (html): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<html>
  <body onload="change_link('inline_load')">
    <script type="text/javascript">
    <!--

function change_link(name)
{
  for (var i = 0; i < document.links.length; ++i)
  {
    var l=document.links[i];
    if(l.className==name)
    {
      l.id="inline_load_id"+i;
      var url=l.attributes.href.value;
      l.attributes.href.value="javascript:replace_link('inline_load_id"+i+"','"+url+"')";
    }
  }
}

function replace_link(name,url)
{
  var req;
  if (window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch (e) {
      req = false;
    }
  }
  if(!req) return;

  req.open('GET', url, false);
  req.send(null);

  var myhtml=req.responseText;

  var tmp=document.createElement("div");
  tmp.innerHTML=myhtml.replace(/<script(.|\s)*?\/script>/g, '');

  var text=document.createElement("div");
  text.className="added_inline";
  text.innerHTML=tmp.getElementsByClassName('inline_text')[0].innerHTML;

  var tag=document.getElementById(name);
  var upper=tag.parentNode;
  upper.insertBefore(text,tag);
  upper.removeChild(tag);
}

    //-->
    </script>
    <style type="text/css">
div.added_inline {
  border:2px solid black;
}
    </style>
    <a class="inline_load" href="test.html">TEST.HTML</a>
    <a href="test.html">Direkter Link</a>
    <a class="inline_load" href="test.html">TEST.HTML</a>
  </body>
</html>

mit "test.html":
Code (html): (dl )
1
2
3
4
5
6
7
8
9
10
11
<html>
  <body>
    <div class="inline_text">
      <pre>Etwas Test Text
Etwas Test Text
Etwas Test Text
Etwas Test Text
Etwas Test Text</pre>
    </div>
  </body>
</html>


Das ist nur ein schneller hack, um zu sehen wie man es am einfachsten machen kann. das kann/muss man sicher noch einiges optimieren/ändern.

View full thread BBCode: more-Tag