0

Djangoを使用してWebページを作成する必要があります。

html では、外部画像リンクを img src タグに割り当てます。

しかし、403禁止エラーで画像が表示されません。

画像の外部リンクをブラウザのアドレスに貼り付けると、画像が表示されます。

私は思う..それはリファラーチェックです。そのため、 javascript で http リファラーを変更する で ReferrerKiller.js を使用します。

最初の画像が表示されます。しかし、他はそうではありません。

クロム開発者ツールを使用してネットワークを確認します。

ここに画像の説明を入力

他の画像はキャンセルされました。私はそれを知りません。

私はこの問題について何か考えを聞きたい..リファラーチェックとなぜ最初の画像だけを表示するのですか? 他にない?

以下home.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
{% load staticfiles %}

<html> 
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="{% static "js/ReferrerKiller.js" %}"></script>
<title>island</title> 
</head>
<body> 
<h1> nanpa </h1> 
<br/>

{% for entrySummary in entrySummaryList %} 
    title : 
    <a href="{{entrySummary.entry_link}}">{{ entrySummary.entry_title }}</a>
    {{ entrySummary.entry_pub_date }} <br/>

    description : {{ entrySummary.entry_description }} <br/>
    image : <span id="image_kill_referrer"></span> 
    <!-- <img src= ("{{ entrySummary.entry_representaion_img }}"/> -->
    <script>
    document.getElementById('image_kill_referrer').innerHTML = ReferrerKiller.imageHtml("{{
    entrySummary.entry_representaion_img }}");
    </script>   
{% endfor %}   
</body> 
</html>
4

1 に答える 1

1

document.getElementById()1つのアイテムのみを返します(コード内のすべての画像が同じIDを持っているため、最初のアイテム)。などの別の方法を使用しますdocument.getElementsByClassName

次のコードを試してください:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
{% load staticfiles %}

<html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <script type="text/javascript" src="{% static "js/ReferrerKiller.js" %}"></script>
        <title>island</title> 
    </head>

    <body> 
        <h1> nanpa </h1>
        <br/>

    {% for entrySummary in entrySummaryList %} 
        title :
        <a href="{{entrySummary.entry_link}}">{{ entrySummary.entry_title }}</a>
        {{ entrySummary.entry_pub_date }} <br/>

        description : {{ entrySummary.entry_description }} <br/>
        image : <span class="image_kill_referrer"></span>
    {% endfor %} 
        <script>
        var i, images = document.getElementsByClassName('image_kill_referrer');
        var urls = [
    {% for entrySummary in entrySummaryList %} 
            "{{ entrySummary.entry_representaion_img }}",
    {% endfor %}
            "DUMMY"
        ];
        for (i = 0; i < images.length; i++) {
            images[i].innerHTML = ReferrerKiller.imageHtml(urls[i]);
        }
        </script>
    </body>
</html>

または、画像ごとに異なる ID を使用します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
{% load staticfiles %}
<html> 
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <script type="text/javascript" src="{% static "js/ReferrerKiller.js" %}"></script>
        <title>island</title> 
    </head>
    <body> 
        <h1> nanpa </h1> 
        <br/>

    {% for entrySummary in entrySummaryList %} 
        title : 
        <a href="{{entrySummary.entry_link}}">{{ entrySummary.entry_title }}</a>
        {{ entrySummary.entry_pub_date }} <br/>

        description : {{ entrySummary.entry_description }} <br/>
        image : <span id="image_kill_referrer{{ forloop.counter }}"></span> 
        <script>
        document.getElementById('image_kill_referrer{{ forloop.counter }}').innerHTML = ReferrerKiller.imageHtml("{{
        entrySummary.entry_representaion_img }}");
        </script>   
    {% endfor %}   
    </body> 
</html>
于 2013-07-08T06:16:34.690 に答える