Почему этот связанный пример работает в Chrome, но getScreenCMT не определен?

#javascript #google-chrome #svg

#javascript #google-chrome #svg

Вопрос:

Я знаю о проблемах в Chrome с неправильным сообщением getScreenCMT(), включая undefined на Mac, но я использую Windows Chrome версии 35.0.1916.153 m, и этот пример перетаскивания svg ДЕЙСТВИТЕЛЬНО РАБОТАЕТ в моем браузере без ошибок.

Вот мой базовый тестовый код:

 <?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
    version="1.1"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    width="400" height="300" viewBox="0 0 400 300">
    <circle id="circle" fill="green" cx="100" cy="100" r="50"></circle>
    <script>
        console.log(document.documentElement.createSVGPoint);
        var testEl = document.getElementById('circle');
        console.log(testEl.getScreenCMT);
    </script>
</svg>
  

вывод:

функция createSVGPoint() { [собственный код] }

не определено

Есть идеи, почему это так?

Примечание: fwiw Я также пробовал подобное из onload — все остальное происходит, кроме getScreenCMT

ОБНОВЛЕНИЕ: я пробовал console.log(ball.getScreenCMT) использовать приведенный выше пример перед строкой mousedown() var m = ball.getScreenCMT() , и это также сообщает undefined , но пример продолжает функционировать должным образом, и я не могу получить аналогичную функциональность — Uncaught TypeError: undefined is not a function .

Комментарии:

1. Потому что в примере используется getScreenCTM, а не getScreenCMT

2. Спасибо, Роберт. Я собираюсь продолжить это здесь, просто чтобы быть честным. 🙂