我正在创建一个使用window.external的网站(稍后将在WPF WebBrowser控件中运行)。
但是,尽管我尝试过,所有window.external方法都是未定义的:
window.external = {
SetDragText: function() {},
ShowFileDialog: function() {
onFileOpenCompleted(JSON.stringify(["D:\Temp\test.pdf"]))
},
OpenPdfViewer: function() {},
};
有没有办法在Chrome调试/开发工具中覆盖window.external
?
答案 0 :(得分:0)
这应该有效,你需要输入没有括号的函数来获取定义,否则你调用它,因为你不返回任何内容而返回undefined
window.external = {
SetDragText: function() {},
ShowFileDialog: function() {
onFileOpenCompleted(JSON.stringify(["D:\Temp\test.pdf"]))
},
OpenPdfViewer: function() {},
};
$("#result").text("Actual function definition: " + String(window.external.SetDragText));
$("#result2").text(String("Function call result: " + window.external.SetDragText()));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="result"></span>
</br>
<span id="result2"></span>
&#13;