0

基本的には、JavaScript を作成してページを更新すると、価格が検索され、希望の価格になったときに商品が購入されます。

iframeなしで動作するようになりましたが、iframeで動作する必要があり、これが到達した問題です。

このページにアクセスした場合: [ http://m.roblox.com/items/100933289/privatesales ]

そしてこのコードを実行しました:

alert(document.getElementsByClassName('currency-robux')[0].innerHTML);

最低価格のアラートが表示されます。コードでは、これは機能しません (したがって、私の問題です)。

このページで以下のコードを実行してみてください [ http://www.roblox.com/Junk-Bot-item?id=100933289 ]

var filePath = document.URL;
var itemid = filePath.slice(((filePath.search("="))+1));
var mobileRoot = 'http://m.roblox.com/items/';
var mobileEnd = '/privatesales';
var mobileFilePath = mobileRoot+itemid+mobileEnd;

var iframe2 = '<iframe id="frame" width="100%" height="1" scrolling="yes"></iframe>';
document.write(iframe2);
var iframe = parent.document.getElementById("frame");
iframe.height = 300;
iframe.width = 500;
iframe.src = mobileFilePath;
var price;
var snipe = false;
var lp = Number(prompt("Snipe Price?"));
document.title = "Sniping";

function takeOutCommas(s){
    var str = s;
    while ((str.indexOf(",")) !== -1){
        str = str.replace(",","");
    }
    return str;
}

function load() {
    if (snipe == false) {
        tgs = iframe.contentDocument.getElementsByClassName('currency-robux');
        price = Number((takeOutCommas(tgs[0].innerHTML)));
        alert(price);
    }
}

iframe.onload = load;
4

2 に答える 2

0

同じコードを共有しても機能しない場合はdocument.domain="roblox.com"、iframeにメッセージを投稿してみてください。

これをiframeページ内に配置します。

window.addEventListener('message',function(e) {
});

親ページでこれを実行して、メッセージ(文字列またはオブジェクト、実際には何でもかまいません)をiframeに渡します。

document.getElementById("frame").contentWindow.postMessage({ "json_example": true }, "*");

メッセージを聞くためにこれを親に入れてください:

window.addEventListener("message", messageReceived, false);
function messageReceived(e) {
}

iframeの内部から、メッセージを投稿して戻します。

window.parent.postMessage('Hello Parent Page','*');
于 2012-12-23T20:16:36.923 に答える
0

「m.roblox.com」からのページと「www.roblox.com」からのページの両方を試してみてください。

<script>
  document.domain = "roblox.com";
</script>

異なるドメインからのコードは、互いのページ コンテンツを参照することはできませんが、ドメインを同じサフィックスに設定すると機能するはずです。

于 2012-12-23T18:18:09.530 に答える