我有一个嵌入 html 元素的对象,用于显示用户选择的网页。
嵌入声明非常简单:
<embed id='frame' src=file></embed>
其中 file 是这样格式化的 url:“http://www.something.bla”;当用户在搜索框中输入链接并选择加载它时,就会创建该元素。
我要做的是:
- 假设嵌入内容包含某些内容(这意味着用户已加载链接),
- 检测用户是否在其中选择了某些文本(例如,如果嵌入内容显示同一页面,并且用户决定选择(突出显示)问题标题 + 问题的第一行,我应该检测到它),
- 获取选择(包括 html)(因此,在本例中,
How do I get the selected text inside an object embed using jquery?
I have an object embed html element that is used to display a webpage selected by the user.
包括 html 标签,
- 然后将其存储在某处以供进一步使用。
它可以用任何脚本语言来完成,这并不重要,但 Javascript 或 jQuery 会更好。
我目前尝试使用 jQuery 或 Javascript:
- 将 getSelection() 方法绑定(bind)到嵌入对象(在本例中嵌入 id 为“frame”),如下所示:
document.getElementById('frame').getSelection()
- 或像这样:
$('frame').getSelection()
- 或这个:
$('frame').on("select", function() {
some code to perform action
});
但这不起作用。
非常感谢任何帮助:)
最佳答案
您应该使用 <IFRAME>
相反,像这样嵌入 HTML 内容不会将其窗口/文档对象暴露给主机页,并且在 FireFox 中根本不起作用。
假设加载的 URL 与页面位于同一域中,您可以 access its document object .
如果 URL 位于未启用 CORS 的不同域中,仅使用 JS 是不可能实现您想要的效果的。
关于javascript - 如何使用 jquery 获取嵌入对象内的选定文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31964270/