...
Case | Can we rebind the content |
---|---|
DOM element class name changed | No, element.className is our primary handle, if it changes, we can never find the element again (see div.name above) |
DOM element's parent class name changed | Yes |
Text of a button changed from "New" to "Create" | Yes (see finding step 2) |
Position of a button changed inside his parent container | No, not yet, it may come with step 5 soon. |
Position of a button has changed abroad his parent container | Yes (see finding step 3) |
Text and class name of a button changed | Still no, element.className is vital |
Position in a list of links changed | Yes (see step 4) |
A few words
The border where we can no more track a change and the border where it makes sense to track the change are the same.
If a button disappears, it is totally logic that it's bound content goes to the collector and from there most certainly to trash. If a buttons classname changes, or his type, the change is assumably that big, so that it makes sense for a content owner to check if the content he provides is still accurate. Imagine a "New" button changes from being a clickable div with class "foo" to a input dropdown with the class "bar". It is a dropdown now, also it looks (according to "bar") completely different, a content owner needs to check, if the content is still accurate! We try to auto-find all cases which make sense and with step 5 even more, but since DOM tree can overnight completely change but still look the same, or completely change but still be "clear" for a user, we have no way to auto-find all changes.
Explanations
1 We fancy algorithms which track everything and everyone and can bind any ever created content, but since we have no relation to the foreign DOM tree there would only be some image recognition AI solution magic, which we can not yet afford.