Note that there are some explanatory texts on larger screens.

plurals
  1. POOverriding function in complicated prototype javascript
    text
    copied!<p>I'm a bit stuck on a problem which I can't solve, I performed investigation on internet and on this site, but I can't find the answer to my question.</p> <p>So basically I have a javascript file, which I cannot modify, so I have another javascript file which should catch the method when it is called and override it.</p> <p>Normally I know how it works and I already done the function overriding, but I don't know how to solve this issue.</p> <p>I have a very big script, but I will show just a small piece of it:</p> <pre><code>Microsoft.Office.Server.Ajax.NavResizer.prototype = { $6: null, $7: null, ...... $20:function ($p0) { if (this.$1E) { $p0.preventDefault(); } }, $21: function ($p0) { var $0 = $p0.target; this.$1F = ($0 === this.$A); if (this.$1F || $0 === this.$B) { this.$1E = $0; this.$18 = $p0.clientX; this.$19 = $p0.clientY; Sys.UI.DomEvent.removeHandler(this.$1E, 'mousedown', this.$12); var $1 = document.body; Sys.UI.DomEvent.addHandler($1, 'mouseup', this.$13); Sys.UI.DomEvent.addHandler($1, 'mousemove', this.$14); $1.style.cursor = (this.$1F) ? 'e-resize' : 'n-resize'; this.$1A = this.get_$42(); this.$1B = this.get_$43(); $1.focus(); Sys.UI.DomEvent.addHandler($1, 'selectstart', this.$15); $p0.preventDefault(); } }, $22: function ($p0) { this.$34($p0); var $0 = document.body; Sys.UI.DomEvent.removeHandler($0, 'mouseup', this.$13); Sys.UI.DomEvent.removeHandler($0, 'mousemove', this.$14); Sys.UI.DomEvent.addHandler($0, 'selectstart', this.$15); $0.style.cursor = 'default'; Sys.UI.DomEvent.addHandler(this.$1E, 'mousedown', this.$12); this.$1E = null; }, $23: function ($p0) { this.$34($p0); }, $24: function ($p0) { this.$26(); }, .... </code></pre> <p>Basically this is the part of the script: so lets say I want to override function: <strong>$22: function ($p0)</strong> in the script in another javascript file, how do i do that?</p> <p>I would appreciate any help.</p> <p>A small update, some good examples were provided but they are not working. The environment where i run this sript is SharePoint, normally when I did override I used this method:</p> <pre><code>var oldFixRibbonAndWorkspaceDimensions = window.FixRibbonAndWorkspaceDimensions; window.FixRibbonAndWorkspaceDimensions = function () { this.MyFixRibbonAndWorkspaceDimensions(); }; function MyFixRibbonAndWorkspaceDimensions(){...} </code></pre> <p>And it didn't matter when i load the script as this function was only called when the default function was called not before not after. Just in the same time. But with the example which were provided here, the function is trying to execute on the document.ready()</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload