0

似乎 Firefox 已经禁用了从 URL 运行 javascript: 的能力......有人知道解决这个问题的方法吗?

当该用户登录时,我的网站需要从另一个网站的 html 中提取的 id。我没有让用户搜索“查看源”页面,而是设计了一个 javascript 链接来抓取它并将其自动发送到该网站,但它没有不能在 Firefox 上工作。

我试图运行的实际代码:

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

从游戏中删除会话 id 以便为玩家提取数据,这与 facebook hack 或任何恶意行为类似。

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 回答