soiz1 commited on
Commit
d39bace
·
verified ·
1 Parent(s): fb3e427

Update dev-tools.js

Browse files
Files changed (1) hide show
  1. dev-tools.js +34 -14
dev-tools.js CHANGED
@@ -667,30 +667,50 @@
667
  }
668
 
669
  // 初期DOMツリー構築
670
- refreshElementsPanel();
 
 
671
 
672
  return panel;
673
  }
674
 
675
- // Elementsパネルをリフレッシュ
676
- function refreshElementsPanel() {
677
- const tree = document.getElementById('dom-tree');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
678
  tree.innerHTML = '';
679
  buildDOMTree(document.documentElement, tree);
680
 
681
  if (selectedElement) {
682
- const elementId = selectedElement.id || Array.from(selectedElement.attributes)
683
- .find(attr => attr.name.startsWith('data-element-id'))?.value;
684
-
685
- if (elementId) {
686
- const node = document.querySelector(`[data-element-id="${elementId}"]`);
687
- if (node) {
688
- node.classList.add('selected');
689
- updateCSSPanel(selectedElement);
 
690
  }
691
- }
692
  }
693
- }
694
 
695
  // Storageパネルの作成
696
  function createStoragePanel() {
 
667
  }
668
 
669
  // 初期DOMツリー構築
670
+ setTimeout(() => {
671
+ refreshElementsPanel();
672
+ }, 0);
673
 
674
  return panel;
675
  }
676
 
677
+ // refreshElementsPanel関数を以下のように修正
678
+ function refreshElementsPanel() {
679
+ let tree = document.getElementById('dom-tree');
680
+
681
+ // ツリー要素が存在しない場合は作成
682
+ if (!tree) {
683
+ const panel = document.getElementById('elements-panel');
684
+ if (panel) {
685
+ const container = panel.querySelector('.elements-container');
686
+ if (container) {
687
+ tree = document.createElement('div');
688
+ tree.className = 'dom-tree';
689
+ tree.id = 'dom-tree';
690
+ container.insertBefore(tree, container.querySelector('.css-panel'));
691
+ }
692
+ }
693
+ }
694
+
695
+ // ツリー要素がまだない場合は処理を中止
696
+ if (!tree) return;
697
+
698
  tree.innerHTML = '';
699
  buildDOMTree(document.documentElement, tree);
700
 
701
  if (selectedElement) {
702
+ const elementId = selectedElement.id || Array.from(selectedElement.attributes)
703
+ .find(attr => attr.name.startsWith('data-element-id'))?.value;
704
+
705
+ if (elementId) {
706
+ const node = document.querySelector(`[data-element-id="${elementId}"]`);
707
+ if (node) {
708
+ node.classList.add('selected');
709
+ updateCSSPanel(selectedElement);
710
+ }
711
  }
 
712
  }
713
+ }
714
 
715
  // Storageパネルの作成
716
  function createStoragePanel() {