Python プロジェクトでは、単純な HTML ブラウザとしてgtkmozembed MozEmbed()を使用しています。私が探しているもの:
(1) 接続を許可するサーバーの制限 (例: のみ) http://localhost
。
および/または
(2)ユーザーがクリックしたリンクが許可されたページ/サーバーを参照しているかどうかをチェックする一種の「onClick()」関数。
誰にもアイデアがありますか?
わかりました、これは恥ずかしくなってきました。私は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>
まだロードされます!