0

Python プロジェクトでは、単純な HTML ブラウザとしてgtkmozembed MozEmbed()を使用しています。私が探しているもの:

(1) 接続を許可するサーバーの制限 (例: のみ) http://localhost

および/または

(2)ユーザーがクリックしたリンクが許可されたページ/サーバーを参照しているかどうかをチェックする一種の「onClick()」関数。

誰にもアイデアがありますか?

4

1 に答える 1

1

わかりました、これは恥ずかしくなってきました。私はstackoverflowで質問を続け、その後すぐに別の場所で答えを見つけました。ごめん。

それにもかかわらず、答えは次のとおりです。gtkmozembed には、次のようなコールバック関数に接続できる「open-uri」というシグナルがあります。

browser = gtkmozembed.MozEmbed()
browser.connect("open-uri", OpenUri)

def OpenUri(mozembed, uri, data=None):
    if uri.startswith('http://localhost/'):
        print "Will now open", uri, "..."
        return False

    print uri, "is not in the list of allowed uris." + "\nLoading denied."
    return True

誰かがより良い解決策を持っていない限り?……これを使います。

編集:

このソリューションは100% 節約できるわけではありません。ユーザーは許可されていないリンクを直接開くことはできませんが、ソース コード内に埋め込まれたリンクは、

 <img src="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png" />

また

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

まだロードされます!

于 2012-09-07T15:20:10.610 に答える