Comments (1)
I figured it out, I took the Hook out of a use effect and placed it inside the onLoad function of the iframe. Then on my website template I put the code into I wrap the incoming JavaScript in a settimout then execute the code and it works for the runtime logs any user click logs.
webTemplateProp
let template = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>${this.state.cssEditorContent}</style>
</head>
<body id="body">
${this.state.htmlEditorContent}
</body>
<script>
setTimeout(() => {
${this.state.jsEditorContent}
}, 250);
</script>
</html>`;
React Code
import React, { Component, createRef } from "react";
import { Hook, Console, Decode } from "console-feed";
import SplitPane from "components/SplitPane/SplitPane";
class Ughh extends Component {
constructor(props) {
super(props);
this.state = {
logs: [],
contentRef: createRef(),
};
}
render() {
return (
<SplitPane orientation="horizontal">
<iframe
id="webPreviewFrame"
title="Web Preview"
className="editor_console_panel"
srcDoc={`${this.props.webTemplate}`}
referrerPolicy="origin"
width="100%"
ref={this.state.contentRef}
onLoad={() => {
Hook(this.state.contentRef.current.contentWindow.console, log => {
this.setState(({ logs }) => ({ logs: [...logs, Decode(log)] }))
});
}}
/>
<div
style={{ backgroundColor: "#242424", height: "100%", width: "100%" }}
>
<Console logs={this.state.logs} variant="dark" />
</div>
</SplitPane>
);
}
}
export default Ughh;
I hope this helps anyone who runs into this issue as I did.
from console-feed.
Related Issues (20)
- Missing `console.dir`
- Formatting console data with JSON with out spacing and /n
- `@emotion/*` as peerDependency HOT 1
- When trying to log an array the console-feed throws an error HOT 1
- Reverse log display order possible? HOT 1
- bug: Uncaught TypeError: array[(array.length - 1)].split is not a function HOT 5
- add support react 18 HOT 2
- Console feed component breaks when attempting to pass formdata
- After Upgrading to CRA 5.0, Webpack warnings appeared: Failed to parse source map
- console.table does not render one dimensional array correctly
- console-feed appears to have disappeared from the npm registry HOT 17
- `Decode` causes lost `data` if there is no `"__console_feed_remaining__0"` entry
- Allow to configure more styles
- logs not updating
- `id` is missing from `Log` typing in documentation
- how to custom error stack linkify logic?
- CSS issue with string containing multiple dot-separated words
- Inside promise, errors are not being displaying in the console HOT 1
- How to access iframe console in React using hooks HOT 1
- "ReferenceError: document is not defined" when importing anything from 'console-feed' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from console-feed.