プロジェクトのバグの同僚で変更は、のようなエラーJSを表示する要素を削除します、IE11で互換性のない見つけリファレンスがアドレスを見つけることができないので、その結果は、一緒により削除されます。
コードの前に
タイムトリガサブページを保存し、親ページのコンテンツの形を見つけます
1つの (){セーブ機能 2。VAR productEditPage = $(parent.document).contents()( "#1 layui層-IFRAME" + parent.layerIndex)を見つける[0 ] .contentWindow。 3つの VAR選択= getAllSelections()。 4 $(選択).each(関数(指数、E){ 5 productEditPage.productSchemeData.productSchemeBom.push(E); // 父页面的对象 6 })。 7 productEditPage.loadBom()。 8 parent.layerIndexを削除します。 9 VAR指数= parent.layer.getFrameIndex(window.name)。 10 parent.layer.close(インデックス) 11 }
親フォームのproductSchemeData.productSchemeBomでサブフォームの割り当てデータを削除するサブページが閉じられているので、結果は参照の対応、のIEに与えられているにも閉鎖され、親ページで見つかった対応する参照
私は深いコピーを削除する前に、データが削除された場合、引数の形式として考えるために通信することが、その後、より適切な見つけることができませんでした、インターネット上の記事の多くを見つけるために、ある朝のデータを、このピットをデバッグ、それは表示されません問題は存在しないオリジナルの参照アドレス
ソリューション:
1つの (){セーブ機能 2 。VAR productEditPage = $(parent.document).contents()( "#1 layui層-IFRAME" + parent.layerIndex)を見つける[0 ] .contentWindow。 3つの VAR選択= getAllSelections()。 4 VAR productAdd = 新しいアレイ()。 5 $(選択).each(関数(指数、E){ 6 // productEditPage.productSchemeData.productSchemeBom.push(E); 7 productAdd.push(E); 8 })。 9 productEditPage.loadBom(productAdd)。 10 parent.layerIndexを削除します。 11 VAR指数=parent.layer.getFrameIndex(window.name)。 12 parent.layer.close(インデックス) 13 }
割り当てられた新しいサブページのアレイでは、親ページにパラメータとして渡さ
VAR productAdd =新しい配列();
$(選択).each(関数(指数、E){
productAdd.push(E);
});
productEditPage.loadBom(productAdd)。
その深いコピーまたは親ページに関連する操作を削除
1つの 関数loadBom(productAdd){ 2 であれば(productAdd =不定&& productAdd =!ヌル && productAdd = "" && productAdd.length> 0! ) 3 { 4 VAR NEWARRAY = 新しい(アレイ)。 5 あれば(productSchemeData.productSchemeBom!= NULL && productSchemeData.productSchemeBom.length> 0 ) 6 { 7 NEWARRAY = productSchemeData.productSchemeBom.concat(productAdd)。// 数组拼接 8 productSchemeData.productSchemeBom = $ .extend(真、[]、NEWARRAY)。// 深拷贝 9 } 10 他の 11 { 12 productSchemeData.productSchemeBom = $ .extend(真、[]、productAdd)。// 深拷贝 13 } 14 } 15 ..................
、あなたはどのように削除するには、どのようなデータの深いコピーが、与えられていません。