How to get the element inside an iframe dynamically by hovering the iframe
I need to get the element which is inside the iframe by hovering over the element for example if the button is available inside the iframe means i need to get the button element.
I have used query selector (:hover) to get the hovered element but I am able to get the elements upto iframe only from the top document. I cannot able to get the element inside the iframe.
Has any one come across this?
iframe
add a comment |
I need to get the element which is inside the iframe by hovering over the element for example if the button is available inside the iframe means i need to get the button element.
I have used query selector (:hover) to get the hovered element but I am able to get the elements upto iframe only from the top document. I cannot able to get the element inside the iframe.
Has any one come across this?
iframe
add a comment |
I need to get the element which is inside the iframe by hovering over the element for example if the button is available inside the iframe means i need to get the button element.
I have used query selector (:hover) to get the hovered element but I am able to get the elements upto iframe only from the top document. I cannot able to get the element inside the iframe.
Has any one come across this?
iframe
I need to get the element which is inside the iframe by hovering over the element for example if the button is available inside the iframe means i need to get the button element.
I have used query selector (:hover) to get the hovered element but I am able to get the elements upto iframe only from the top document. I cannot able to get the element inside the iframe.
Has any one come across this?
iframe
iframe
asked Nov 19 '18 at 9:29
sadham hussainsadham hussain
163
163
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It is restricted by CORS (so generally you can not observe widgets included from 3rd-party sites this way), but otherwise doable in recent browsers, you just have to work with the contentWindow
of the iframe
, and perhaps use elementFromPoint()
.
Example frame.html
:
<div>Test1</div>
<div>Test2</div>
<div>Test3</div>
<div>Test4</div>
<div>Test5</div>
And containing test.html
:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script>
function startup(){
frame.contentWindow.document.addEventListener("click",function(event){
frame.contentWindow.document
.elementFromPoint(event.clientX,event.clientY).innerHTML+="!";
});
}
</script>
</head>
<body onload="startup()">
<iframe id="frame" width="300" height="200" src="frame.html"></iframe>
</body>
</html>
Click on the elements of the iframe
and their content will get appended with exclamation marks.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371672%2fhow-to-get-the-element-inside-an-iframe-dynamically-by-hovering-the-iframe%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It is restricted by CORS (so generally you can not observe widgets included from 3rd-party sites this way), but otherwise doable in recent browsers, you just have to work with the contentWindow
of the iframe
, and perhaps use elementFromPoint()
.
Example frame.html
:
<div>Test1</div>
<div>Test2</div>
<div>Test3</div>
<div>Test4</div>
<div>Test5</div>
And containing test.html
:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script>
function startup(){
frame.contentWindow.document.addEventListener("click",function(event){
frame.contentWindow.document
.elementFromPoint(event.clientX,event.clientY).innerHTML+="!";
});
}
</script>
</head>
<body onload="startup()">
<iframe id="frame" width="300" height="200" src="frame.html"></iframe>
</body>
</html>
Click on the elements of the iframe
and their content will get appended with exclamation marks.
add a comment |
It is restricted by CORS (so generally you can not observe widgets included from 3rd-party sites this way), but otherwise doable in recent browsers, you just have to work with the contentWindow
of the iframe
, and perhaps use elementFromPoint()
.
Example frame.html
:
<div>Test1</div>
<div>Test2</div>
<div>Test3</div>
<div>Test4</div>
<div>Test5</div>
And containing test.html
:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script>
function startup(){
frame.contentWindow.document.addEventListener("click",function(event){
frame.contentWindow.document
.elementFromPoint(event.clientX,event.clientY).innerHTML+="!";
});
}
</script>
</head>
<body onload="startup()">
<iframe id="frame" width="300" height="200" src="frame.html"></iframe>
</body>
</html>
Click on the elements of the iframe
and their content will get appended with exclamation marks.
add a comment |
It is restricted by CORS (so generally you can not observe widgets included from 3rd-party sites this way), but otherwise doable in recent browsers, you just have to work with the contentWindow
of the iframe
, and perhaps use elementFromPoint()
.
Example frame.html
:
<div>Test1</div>
<div>Test2</div>
<div>Test3</div>
<div>Test4</div>
<div>Test5</div>
And containing test.html
:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script>
function startup(){
frame.contentWindow.document.addEventListener("click",function(event){
frame.contentWindow.document
.elementFromPoint(event.clientX,event.clientY).innerHTML+="!";
});
}
</script>
</head>
<body onload="startup()">
<iframe id="frame" width="300" height="200" src="frame.html"></iframe>
</body>
</html>
Click on the elements of the iframe
and their content will get appended with exclamation marks.
It is restricted by CORS (so generally you can not observe widgets included from 3rd-party sites this way), but otherwise doable in recent browsers, you just have to work with the contentWindow
of the iframe
, and perhaps use elementFromPoint()
.
Example frame.html
:
<div>Test1</div>
<div>Test2</div>
<div>Test3</div>
<div>Test4</div>
<div>Test5</div>
And containing test.html
:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script>
function startup(){
frame.contentWindow.document.addEventListener("click",function(event){
frame.contentWindow.document
.elementFromPoint(event.clientX,event.clientY).innerHTML+="!";
});
}
</script>
</head>
<body onload="startup()">
<iframe id="frame" width="300" height="200" src="frame.html"></iframe>
</body>
</html>
Click on the elements of the iframe
and their content will get appended with exclamation marks.
answered Nov 19 '18 at 14:49
tevemadartevemadar
4,3132723
4,3132723
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371672%2fhow-to-get-the-element-inside-an-iframe-dynamically-by-hovering-the-iframe%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown