Ich mache eine einfache Chrome-Erweiterung und möchte eine JavaScript-Funktion auf einer Seite zu überschreiben. Das Javascript ist zu komplex für mich auch zu verstehen. Dies ist ein Teil des Codes:Überschrieben verschachtelte Javascript-Funktion
}), define("components/Payout", ["react", "game-logic/clib", "game-logic/stateLib"], function(e, t, n) {
var r = e.DOM;
return e.createClass({
displayName: "Payout",
mixins: [e.addons.PureRenderMixin],
propTypes: {
engine: e.PropTypes.object.isRequired
},
getInitialState: function() {
return {
payout: 0
}
},
componentDidMount: function() {
window.requestAnimationFrame(this.draw)
},
draw: function() {
if (this.isMounted()) {
var e = t.calcGamePayout(t.getElapsedTimeWithLag(this.props.engine));
e ? this.setState({
payout: e * n.currentPlay(this.props.engine).bet
}) : this.setState({
payout: null
}), window.requestAnimationFrame(this.draw)
}
},
render: function() {
var e = n.currentPlay(this.props.engine).bet < 1e4 ? 2 : 0;
return r.span({
id: "payout"
}, t.formatSatoshis(this.state.payout, e))
}
})
}),
Die Funktion i ‚kapern‘ will, ist die „Render“ -Funktion. Wie würde ich das aus einer externen JS-Datei machen?
Was ich will ist, den Inhalt dieser Funktion durch etwas angepasst zu ersetzen.
Zuerst müssen Sie 'define' überschreiben (oder mit den exponierten? Interna des Modulladers, der hier verwendet wird, umgehen). Dann können Sie auf die Eigenschaft ".prototype.render" zugreifen und diese entführen. – Bergi