0

Firefox が JavaScript を実行する機能を無効にしているようです: URL から...誰もこれを回避する方法を知っていますか?

私のサイトでは、そのユーザーがログインしているときに別のサイトの html から取得した ID が必要です。ユーザーに「ソースの表示」ページを検索させる代わりに、JavaScript リンクを考案してスクレイピングし、サイトに自動的に送信しましたが、そうではありません。 Firefoxでは動作しません。

私が実行しようとしている実際のコード:

javascript:void(window.open('http://mysite.com/login?u=' + encodeURIComponent(window.location) + '&s=' + SessionId));

プレイヤーのデータを取得するためにゲームからセッション ID を破棄すること。Facebook のハッキングや悪意のあるものとは異なります。

4

1 に答える 1

1

私はあなたのコードを見る必要がありますが、あなたがやろうとしていることを実際に行うのに問題はないはずです. 別のオプションが必要な場合は、お試しください。スクレイピングしているページのコンテンツが他のサイトと同じドメイン内にある場合は、iframe を使用して ID を取得できます。

考慮すべきコードを次に示します。

あなたのデータ収集ページ:

<!DOCTYPE html>
<html>
<head>
    <title>Disable Firefox 7.0.1 javascript in url security</title>    
    <script type="text/javascript">
    function scrapeData() {
        var frame = document.getElementById("otherPage");
        var otherPagesObj = frame.contentWindow.document.getElementById("otherContent");
        alert("Your data: " + otherPagesObj.innerHTML);
    }
    </script>
</head>
<body onload="scrapeData();">
    <iframe id="otherPage" src="otherpage.htm" width="1" height="1" />
</body>
​&lt;/html>​​​​​​​​​​​​​​​​​​​​​​​​

スクレイピングするページ (otherpage.htm):

<!DOCTYPE html>
<html>
<head>
    <title>Other Page - Disable Firefox 7.0.1 javascript in url security</title>    
</head>
<body>
    <div id="otherContent">1</div>
</body>
​&lt;/html>​​​​​​​​​​​​​​​​​​​​​​​​

上記のコードを使用すると、別のページの div から警告された "1" を確認できます。これは、あなたがやろうとしていることに対するシンプルでクロスブラウザ互換のオプションです。

お役に立てれば。

于 2012-11-01T04:25:18.907 に答える