0

所以我一直在思考这个问题并尝试了各种策略。基本上,我正在尝试创建一个书签,当单击它时,会在您碰巧在的任何页面上弹出一个标题。在这个标头中,有一个小表单,其内容被提交给服务器。提交后,标题应该消失。在所有情况下,我都用一个简单的加载程序小书签加载了我的 JS:

javascript:(function(){document.body.appendChild(document.createElement('script')).src='http://localhost/bklts/script.js';})();

这个问题比听起来更棘手——我提出的每一个想法在某些情况下都失败了——现在让我们忘记 IE 兼容性,我稍后再处理。

想法 1 是将浏览器重定向到我服务器上的页面,顶部是表单,底部是 iframe 内的原始页面。这工作得相当好,但很慢:加载 3 个页面以查看表单和原始页面,然后在提交表单后再次加载页面以返回原始页面。此外,它会在框架崩溃的网站上中断。

想法 2 是在原始页面的顶部插入一个 iframe,iframe src'ing 我服务器上的表单文档。这非常有效,只需要 1 个页面加载(iframe 内容)。但是,原始页面上绝对放置的元素仍保留在它们的绝对位置,覆盖我的标题,而其他所有内容都向下移动。此外,我发现在提交表单后不可能摆脱此标题,除非还在 iframe 下方创建一个链接,该链接将隐藏 iframe 及其本身,提交表单后将单击该链接。长话短说,不是真正的生产质量。

想法 3 根本不使用框架。在页面顶部插入一个带有我的表单的 div,这个表单将被提交到我的服务器。这个问题当然是原始页面的样式表会影响我的新 div,而且我一生都无法弄清楚如何告诉页面不要设置 header-div 的样式(或者只用我的规则)。有人告诉我这在 jQuery 中是微不足道的,虽然我已经开始学习/使用它,但我还没有找到一种方法来做到这一点。还有想法2中描述的位置:绝对问题,但我认为这是次要的。

我这样做的方式是愚蠢的吗?我应该放弃制作标题的所有希望并弹出一个新窗口吗?我真的很希望它是一个标题,但是如果标题是不可能的,一个窗口就足够了(这是 2009 年 - 这些天几乎没有什么是不可能的......)

无论如何,非常欢迎任何解决上述想法或全新想法的帮助。

非常感谢您的时间,

马拉

4

1 回答 1

1

在页面中插入一个怎么样<iframe>

这应该很简单,并且不会继承原始页面的 CSS。您可以在查询字符串中传入 iframe 所需的任何内容。

我想让它自毁可能会很棘手......也许你可以将它重定向到原始域上的页面,并进行轮询。

于 2009-08-16T12:32:13.857 回答