如何将iFrame结果更改为JavaScript警报框?

如何将iFrame结果更改为JavaScript警报框?,javascript,html,alert,filereader,Javascript,Html,Alert,Filereader,我可以访问url,运行脚本以清除用户状态。 我想产生一个脚本,将在网页上运行,这样做 以下脚本可以正常工作,但在Firefox中,人们每次访问页面时都必须禁用混合内容,这让人很恼火: <SCRIPT LANGUAGE="JavaScript"> function go(loc,loc2){ document.getElementById('userstate').src = loc + document.getElementById('username').valu

我可以访问url,运行脚本以清除用户状态。 我想产生一个脚本,将在网页上运行,这样做

以下脚本可以正常工作,但在Firefox中,人们每次访问页面时都必须禁用混合内容,这让人很恼火:

 <SCRIPT LANGUAGE="JavaScript">
function go(loc,loc2){
    document.getElementById('userstate').src = loc +
    document.getElementById('username').value +  loc2;
}
</script>

<form onSubmit="go('http://mysiteurlomitted.com/userstate/?userId=','&app=cc'); return false;"/>
Username: <input type="text" id="username">
<input type="submit" value="Clear User State">
</form> 

<iframe id="userstate" src="about:blank" width="470" height="30" frameborder="1" scrolling="no"></iframe>

功能go(loc,loc2){
document.getElementById('userstate')。src=loc+
document.getElementById('username')。value+loc2;
}
用户名:

结果URL生成一个简单的文本字符串,结果页面上没有HTML,因此我觉得将此URL作为文件读取并将结果加载到警报框中应该非常容易。这将避免使用
iframe
方法,并避免混合内容的情况。它可以运行,而无需任何人进行任何更改。但我想不出如何让它发挥作用。我觉得
FileReader()
应该是一个很好的方法,但是URL有参数。。。因此,读者不知道它是什么文件类型。这只是失败。必须有一个更简单的方法来做到这一点

这种事情不需要任何javascript。只需在用户名输入中添加一个name属性,该值将作为“&username=name”在查询字符串中传递。因此:


用户名:
这将把表单提交给“”,该表单将在服务器端的常用post数据源中提供

还有其他更好的方法,但我不知道你的设置。您应该研究Cookie/会话的服务器端管理;除了最初登录,用户不需要输入任何内容

编辑:


如果希望将其用作管理工具,可以做两件事:使用ajax(Jquery中的XMLHttpRequest或$.ajax),或使端点重定向回表单(或服务于表单)。您可以让表单提交到自己的url,并在服务器端脚本过程中处理数据,然后再次输出表单的html。对于实际应用程序来说,这不是一个很好的模式,但在这种情况下它应该可以工作。

此解决方案可以帮助您吗?如果我的意图是不使用iframe,而是使用一个警报框来显示结果,那么Nickolay解决方案是行不通的,谢谢。我希望它能将结果加载到脚本所在页面的警报框中。我想让它运行的方式,我可以键入一个用户名,点击清除用户状态。(警报出现:关闭)输入另一个用户名,单击清除用户状态。它永远不会离开那一页,只是让我一遍又一遍地做。重新排列url参数很好。明白了,明白了,这更像是一个管理工具。我将编辑我的答案。
<form action="/userstate?app=cc">
    Username: <input type="text" id="username" name="username" />
    <input type="submit" value="Clear User State" />
</form>