[英]Drag and drop of image in Chrome
我正在嘗試編寫一個腳本,用於在Chrome瀏覽器的iframe中拖放圖片。
<html>
<head>
<script language="JavaScript">
function InsertImage(ev)
{
alert("drag function called");
var _image = document.createElement("image");
var _sel = _win.getSelection();
if(!_sel.isCollapsed)
{
_sel.deleteFromDocument();
}
try{
var _range = _sel.getRangeAt(0);
}
catch(e)
{
_range = _doc.createRange();
alert("000000:::: "+e);
alert("_range is ::"+_range);
}
if(!_range)
{
_range = _doc.createRange();
}
alert("range is ::::"+_range);
try
{
_range.insertNode(_image);
}
catch(e)
{
alert("1111:: "+e);
}
_range.insertNode(_image);
}
function init()
{
_iframe = document.createElement("iframe");
_iframe.id = "view";
_iframe.style.height = "250px";
_iframe.style.width = "600px";
_iframe.style.top = "20px";
_iframe.style.left = "200px";
_iframe.style.position = "absolute";
_iframe.style.border = "2px solid lightBlue";
document.body.appendChild(_iframe);
_iframe.contentDocument.designMode="on";//No I18N
_win = _iframe.contentWindow;
_win.focus();
_doc = _win.document; //making it global variable
_doc.body.innerHTML = "<p>aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii jjjj kkkk llll mmmm nnnn oooo pppp qqqq rrrr ssss tttt uuuu vvvv wwww xxxx yyyy zzzz</p>";
_doc.addEventListener("dragover",InsertImage,false);
}
</script>
</head>
<body onLoad="init()">
<div style="position:absolute;top:300px;left:100px ">
<p> this si a testing doc.here, we test the things</p>
</div>
</body>
在Chrome控制台中,我收到此錯誤消息:
未捕獲的錯誤:WRONG_DOCUMENT_ERR:DOM異常4
我猜選擇和范圍有問題。
每當DOM操作方法嘗試使用屬於兩個不同DOMDocuments的節點時,都會引發DOMException.WRONG_DOCUMENT_ERR
異常。 為了將 DOMNode從一個文檔導入到另一個文檔,必須使用DOMDocument.importNode
方法。
我想您必須將圖像節點導入到iFrame文檔中
像(未經測試):
var nodeToImport = _doc.importNode(_image, true);
//nodeToImport can now be added to the second document
_doc.appendChild(nodeToImport);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.