teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

誤記修正

2019/07/07 12:42

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -35,7 +35,7 @@
35
35
 
36
36
  最終的には下記コードで動作しました。
37
37
  他は特に変更を加えていないので、`head`タグのみ抜粋しています。
38
- jQueryは3.4.1(本日での最新版)を使用しています。
38
+ jQueryは3.4.1(現時点での最新版)を使用しています。
39
39
 
40
40
  ```html
41
41
  <head>

3

日本語のおかしい部分を修正

2019/07/07 12:42

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -1,4 +1,4 @@
1
- objectタグで取得したSVG取得する部分が問題のようです。
1
+ objectタグからSVG取得する部分が問題のようです。
2
2
 
3
3
  ### objectタグで取得したSVGの取得方法
4
4
 

2

少し追記

2019/07/07 12:40

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -34,7 +34,8 @@
34
34
  ### まとめ
35
35
 
36
36
  最終的には下記コードで動作しました。
37
+ 他は特に変更を加えていないので、`head`タグのみ抜粋しています。
37
- jQueryは3.4.1(恐らく最新版)を使用しています。
38
+ jQueryは3.4.1(本日での最新版)を使用しています。
38
39
 
39
40
  ```html
40
41
  <head>

1

文章の修正

2019/07/07 12:39

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -1,10 +1,10 @@
1
- objectタグで取得したSVGの取得する部分が問題のようです
1
+ objectタグで取得したSVGの取得する部分が問題のようです。
2
2
 
3
3
  ### objectタグで取得したSVGの取得方法
4
4
 
5
- SVGを`object`タグ表示している場合は、Javascriptのオブジェクト(**jQueryではない**)に対して、**contentDocumentプロパティを指定して**取得する必要があります。
5
+ SVGを`object`タグによって表示している場合は、Javascriptのオブジェクト(**jQueryではない**)に対して、**contentDocumentプロパティを指定して**取得する必要があります。
6
6
 
7
- 具体的にはう書きます。
7
+ 具体的には下記のよ書きます。
8
8
  ```javascript
9
9
  let svgObj = document.getElementById('nav-toggle').contentDocument;
10
10
  ```
@@ -23,7 +23,7 @@
23
23
 
24
24
  ### contentDocumentの中身にアクセスする方法
25
25
 
26
- こちらについては先ほどのjQueryでラップしたオブジェクト(`$svgObj`)に対して、jQueryのfindメソッドでアクセスすれば良いです。
26
+ 先ほどのjQueryでラップしたオブジェクト(`$svgObj`)に対して、jQueryのfindメソッドでアクセスすれば良いです。
27
27
  ```javascript
28
28
  let $svg = $svgObj.find('svg');
29
29
  $svg.on('click', function () {
@@ -53,9 +53,11 @@
53
53
 
54
54
  ### Chromeでの注意点
55
55
  上記コードをローカルで開くとChromeでは動作しませんでした。
56
- 詳しくは調べていません、ローカルで開いた外部SVGはファイルシステムを通してアクセスるようで、Chromeではそれが禁止されているようです(恐らくセキュリティ上の問題)
56
+ `$svgObj``null`になります。
57
57
 
58
+ 調べてみると、ローカルで開いた外部SVGはファイルシステムを通してアクセスするため、それがChromeでは禁止されているようです。(恐らくセキュリティ上の問題)
59
+
58
- Chromeで動作確認をしたい場合はサーバーにアップロードしてアクセスしてください。
60
+ Chromeで動作確認をしたい場合はサーバーにアップロードしてアクセスしてください。
59
61
  ローカルサーバーを立ててローカルアクセスでも大丈夫です。
60
62
 
61
63
  ### 参考